次のいくつかの完全な配列を探して

序文

トピック:

それはので、次の番号に配置全体の正の整数を見つけるために、正の整数を与えます。
例えば、12345 12354が返されます。

12354リターン12435

その回答

class Program
{
    public static int[] GetArrays(int num)
    {
        string len = num.ToString();
        int[] intarr = new int[len.Length];
        int index = 0;
        while (num != 0)
        {
           int yu=num % 10;
            intarr[index] = yu;
            index++;
            num = num / 10;
        }
        return intarr;
    }

    public static int getMaxInt(int[] intarr)
    {
        var sortIndex = 0;
        var temp = 0;
        for (int i = 1; i < intarr.Length; i++)
        {
            if (intarr[i] < intarr[0])
            {
                sortIndex = i - 1;
                temp = intarr[0];
                intarr[0] = intarr[i];
                intarr[i] = temp;
                break;
            }
        }

        var hasSore = true;
        if (sortIndex - 1 >= 0)
        {
            for (int i = 0; i < sortIndex ; i++)
            {
                for (int j = 0; j < sortIndex- i; j++)
                {
                    if (intarr[j] < intarr[j + 1])
                    {
                        temp = intarr[j + 1];
                        intarr[j + 1] = intarr[j];
                        intarr[j] = temp;
                        hasSore = false;
                    }
                    if (hasSore)
                    {
                        break;
                    }
                }
            }
        }
        int result = 0;
        for (int i = 0; i < intarr.Length; i++)
        {
            var tempdouble = Convert.ToDouble(i);
            result += Convert.ToInt32(intarr[i] * Math.Pow(10.0, tempdouble));
        }
        return result;
    }
    static void Main(string[] args)
    {
        Console.WriteLine(getMaxInt(GetArrays(12354)));
        Console.ReadKey();
    }
}

おすすめ

転載: www.cnblogs.com/aoximin/p/12533240.html