-
急求解一算法(感谢)5
题:求一下个数
给出一个数字 152,它以125,152,215,251,512,512,1025...排列(位数不足补0)
现在要得到 152 后面的下一个数,即答案是512
求一通用的java算法
列(给出以下3个数字):
115
1051
6233
结果输出:
151
1105
6323
希望高手帮我解决下,感谢!
问题补充:Anddy 写道引用125,152,215,251,512,512,1025...排列这是什么排列?
就是将 152拆为单个数字为 1,2,5
然后把1,2,5进行组合,按从小到大排
排到最大数后,再添加一个0,就变成 0,1,2,5四个数字了
再从小到大排
问题补充:Anddy 写道部分伪代码实现,接下来Lz锻炼锻炼coding!public class Util(){ public int parse(int argInput){ //将整数单个分解存于数组arr中。 String str = argInput+""; int length =str.length(); int[] arr = new int(length ); for(int i = 0;i<length;i++){ arr[i]=Integer.parseInt(str.substring(i,i+1)); } int index = length -1; while(index==0){//从数的最后一位开始,查找前一位比一位小的数。 if(arr[index]>arr[--index])break; } if(index==0){//添加一个0,处理.这中情况如“321” //将0放在数组的第二个位置,数组的第一个位置放原来数值中的最小数,比如321中的“1” //这是数组为“1 0 ..” ... //数组第二个位置后面的数从小到大排列。 ... }else{//不添加0 这种情况如“2563” //将index位置的值与index-1的值互换。如将6与5互换,“2653”。 ... //将index后面(包含index位置)的数值从小到大排列。这时将“5 3”从小到大排列。 ... } ///将int数组arr各个数值按顺序生成一个整数。返回所需要的值。 }//end parse }
while(index==0){//从数的最后一位开始,查找前一位比一位小的数。
if(arr[index]>arr[--index])break;
}
有问题吧?2010年3月17日 12:03
7个答案 按时间排序 按投票排序
-
采纳的答案
部分伪代码实现,接下来Lz锻炼锻炼coding!
public class Util(){ public int parse(int argInput){ //将整数单个分解存于数组arr中。 String str = argInput+""; int length =str.length(); int[] arr = new int(length ); for(int i = 0;i<length;i++){ arr[i]=Integer.parseInt(str.substring(i,i+1)); } int index = length -1; while(index==0){//从数的最后一位开始,查找前一位比一位小的数。 if(arr[index]>arr[--index])break; } if(index==0){//添加一个0,处理.这中情况如“321” //将0放在数组的第二个位置,数组的第一个位置放原来数值中的最小数,比如321中的“1” //这是数组为“1 0 ..” ... //数组第二个位置后面的数从小到大排列。 ... }else{//不添加0 这种情况如“2563” //将index位置的值与index-1的值互换。如将6与5互换,“2653”。 ... //将index后面(包含index位置)的数值从小到大排列。这时将“5 3”从小到大排列。 ... } ///将int数组arr各个数值按顺序生成一个整数。返回所需要的值。 }//end parse }
2010年3月17日 12:58
-
public String nextNum(int num){ String src = String.valueOf(num); String result = ""; int len = src.length(); int[] arr = new int[len]; for(int k = 0;k < len; k++){ arr[k] = Integer.parseInt(src.substring(k,k+1)); } int i=0,j=0; for(i = len-1; i >= 0; i--){ boolean flag = false; for(j = i - 1; j>=0; j--){ if(arr[i]>arr[j]){ int ai = arr[i]; for(int k = i; k>j;k--){ arr[k] = arr[k-1]; } arr[j] = ai; for(int k = 0; k < arr.length; k++){ result += arr[k]; } return result; } } } // if(i==-1&&j==-1){ List list = new ArrayList(); for(i= 0;i <arr.length;i++) list.add(arr[i]); Collections.sort(list);//升序 int index = 0; for(i = 0 ; i <list.size(); i++){ int a = Integer.parseInt(list.get(i).toString()); if(a>0){ index = i; break; } } result = list.get(index).toString(); result += "0"; list.remove(index); for (i = 0; i < list.size(); i++) { result += list.get(i).toString(); } return result; } return result; } public void test111(){ int[] arrNum = {115,1051,6233,521,321,7123}; for(int i = 0; i < arrNum.length; i++){ System.out.println(nextNum(arrNum[i])); } }
2010年3月17日 18:18
相关推荐
遗传算法求解Rastrigin函数遗传算法求解Rastrigin函数遗传算法求解Rastrigin函数遗传算法求解Rastrigin函数
别的地方能够下的,还没看完,希望有用! 基本遗传算法—一种求解方程的有效算法
用简单遗传算法求解8皇后问题,每次输出一代染色体中最好和最差个体的适应度,当求的解时便将解输出,解依次为0到7行哪一列放棋子,只是简单的熟悉一下遗传算法,代码没有写注释,如果有问题与我讨论就发邮件吧,...
matlab求解遗传算法的源代码,包含十余种,例如选址分配,路径等
代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化...
分布式约束优化问题及其求解算法 分布式约束优化问题(Distributed Constraint ...DCOP问题及其求解算法是分布式系统中的一种重要问题,需要结合实际应用场景选择合适的算法和策略,以提高系统的效率和可靠性。
生成求解算法的过程通常与自动求解算法相类似,只是目标从找到一个解变为找到所有可能的解,或者找到最短的解。在这个过程中,可以使用递归或者迭代的方式来探索所有可能的状态空间,同时记录下达到目标状态的路径和...
在交通配流工程中,用于求解UE交通均衡的算法,amDLKSajkl
实验三 用贪心算法求解Prim算法 实验四 用回溯法求解N后问题 实验五 用分支限界法实现旅行售货员问题 这些实验的大部分源代码都是书上的, 我用的是WindowsXP SP2 VisualC++6.0编译通过 有几个实验为C语言代码 还有...
规则迷宫的一种求解思想及算法.规则迷宫的一种求解思想及算法.
经典算法问题-TSP商旅问题(Traveling Salesman Problem),它是数学领域中著名问题之一。...代码包含遗传算法和动态规划来求解这个问题,里面有完整源代码,并且有详细注释,还有两者的比较分析。
### 一种改进的模拟退火算法求解0-1背包问题 #### 背景与问题定义 0-1背包问题是一种经典的NP完全问题,在工程、经济、资源分配等领域广泛应用。该问题的核心在于如何在有限的背包容量下,从一组物品中选择若干...
在计算机问题求解中,算法方法是非常重要的一部分。算法方法是指解决问题的步骤或过程。常见的算法方法有搜索、Divide-and-Conquer、Greedy、Dynamic Programming等。 搜索是一种常见的算法方法。搜索可以分为广度...
总结来说,这个压缩包包含了一个使用贪心算法求解旅行商问题的C语言程序,以及相关的项目文件和输入数据。尽管贪心算法无法保证找到TSP的全局最优解,但对于小型问题实例,它仍然能提供一种接近最优的解决方案。对于...
模拟退火算法遗传算法求解TSP问题.zip模拟退火算法遗传算法求解TSP问题.zip模拟退火算法遗传算法求解TSP问题.zip模拟退火算法遗传算法求解TSP问题.zip模拟退火算法遗传算法求解TSP问题.zip模拟退火算法遗传算法求解...
总的来说,蚁群算法求解VRP问题提供了一种基于生物启发式的有效方法,它能够处理复杂的约束条件和大规模数据,具有较强的全局搜索能力。在物流、交通规划等领域,蚁群算法的应用可以帮助企业降低运输成本,提高运营...
论文研究-线性方程组符号求解Bareiss算法的改进与实现.pdf, ...并且以这一改进算法与syzygy算法为基础,给出了求解多项式系数线性方程组的多项式解的算法.已经在自行开发的自动推理平台软件MMP上实现了这个算法.
百钱买百鸡求解算法(C语言版)...用穷举算法求解一个不定方程。 /*百钱买百鸡求解算法*/ /*原文:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,如何用100文钱买一百之鸡,那么公鸡、母鸡和小鸡各应该买多少只?*/
双层规划模型的遗传算法求解的Matlab...这个Matlab源码提供了一个完整的双层规划模型的遗传算法求解的实现,可以作为解决双层规划问题的参考,同时也提供了一个算法仿真团队的链接,方便用户获取更多的算法仿真资源。
资源名:MTSP问题求解_遗传算法_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的...