首页 > 解决方案 > 取回添加的位数

问题描述

我正在处理一些任务,但我不知道该怎么做。问题是:我有一个整数数组,我需要得到这些数字的总和(我做到了),但是我需要从添加的数字中取回这些整数。

例如

数组 =“56 65 74 100 99 68 86 180 90”

我们确实添加了数字的位数并按这些值排序,然后我们取回这些添加的数字。

例如,99 将是 18,100 将是 1,因此在列表中 100 将排在 99 之前。当两个数字相同时,我们将它们分类为字符串(按字母顺序排列)而不是数字:

180 在 90 之前,因为具有相同的值 (9),它作为字符串出现在之前。

排序结果 = "100 180 90 56 65 74 68 86 99"

    public static string orderWeight(string strng)
    {
        string[] encoded = strng.Split(' '); // getting nums from array
        int[] ordered = encoded.Select(x => x.Sum(c => c - '0'))
                               .OrderBy(x => x).ToArray() // sum of digits

        return null;
    }

那么我怎样才能找回那些数字,因为 56 和 65 = 11 和 11。我不知道 =(

我的任务的重点是做一些添加数字

标签: c#algorithmlinqmath

解决方案


您不需要选择总和,您只需按总和排序,这样它就会按顺序返回包含完整数字的数组:

 string[] decoded = encoded.OrderBy(x => x.Sum(c => c - '0')).ToArray()

推荐阅读