我有以下输入:
double zmin;
double zmax;
int count;
int N; //Total number of element in result array
Run Code Online (Sandbox Code Playgroud)
我想生成一个双数组序列,其中zmin为第一个值,zmax为最后一个值.但是从第二个值到最后一个,但它应该被(zmax-zmin)/ count所左右.
例:
zmin = 1;
zmax = 10;
count = 3
Run Code Online (Sandbox Code Playgroud)
预期结果:
double[] result = { 1, 4, 7, 10}
Run Code Online (Sandbox Code Playgroud)
我的尝试:
double[] result = Enumerable.Repeat(zmin, N).Select(iv => (iv +(zmax-zmin)/count)).ToArray();
Run Code Online (Sandbox Code Playgroud) 我想在xy点数据列表中找到最小差异.(可以包含重复的x值和y值)
Example:
List<Point> differenceList = new List<Point>() { (10,0), (10,20), (20,30), (12,61) };
Run Code Online (Sandbox Code Playgroud)
预期结果
X difference = 2
Y difference = 20
Run Code Online (Sandbox Code Playgroud)
是否有可能优雅地使用linq/lambda表达式?谢谢!
我有一个复合词典和一个列表
Dictionary<Point, List<int>> GroupedIndex
int[] TobeMatched
Run Code Online (Sandbox Code Playgroud)
现在我想检查每个键,TobeMatched数组中是否有任何匹配的值.如果匹配,则仅保留该键的匹配值并删除其他值.如果没有匹配项,则删除密钥.
Example:
GroupedIndex: [0] -> Key [X=1;Y=1]; Values [0] -> 5, [1] -> 10
[1] -> Key [X=1;Y=2]; Values [0] -> 1, [1] -> 3, [2] -> 6
TobeMatched: {1,2,6}
Result expected:
New dictionary: [0] -> Key[X=1;Y=2]; Values [0] -> 1, [1] -> 6
Run Code Online (Sandbox Code Playgroud)
是否有可能在linq中实现这一目标?
我想使用linq使用值对数据进行分组,并将相应的索引作为数组返回.
例
int[] input = {0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,2,2,2,2}
Run Code Online (Sandbox Code Playgroud)
预期产出
Dictionary<int,int[]> ouput = {0->[0,1,2,3,8,9,10,11]; 1 -> [4,5,6,7,12,13,14,15]; 2 -> [16,17,18,19]}
Run Code Online (Sandbox Code Playgroud)
任何人都可以指导我吗?