排序多项的位数不使用的阵列 [英] Sorting a number's digits without using an array
本文介绍了排序多项的位数不使用的阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要为我的功课做的是一个正数的位数从低到高排序。
What I need to do for my homework is to sort the digits of a positive number from low to high.
我可以使用
- 运营商
- 整数/双打/花车/字符
- 如果/开关和循环
我不能使用
- 字符数组()
- 字符串
推荐答案
这一定会做到!
int number = 52146729;
int sortedNumber = 0;
for (int i = 9; i >= 0; i--)
{
int tmpNumber = number;
while (tmpNumber > 0)
{
int digit = tmpNumber % 10;
if (digit == i)
{
sortedNumber *= 10;
sortedNumber += digit;
}
tmpNumber /= 10;
}
}
System.out.println(sortedNumber);
这是java的BTW。给定的约束,这是pretty高效,为O(n)。
This is java btw. Given the constraints this is pretty efficient, O(n).
这篇关于排序多项的位数不使用的阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文