剑指Offer-12-打印1到最大的n位数
来源:互联网 发布:excel怎样删除重复数据 编辑:程序博客网 时间:2024/05/17 09:42
package char3;public class Print1ToMaxOfNDigits { //采用字符串模拟加法 void Print1ToMaxOfNDigits(int n) { if(n<=0) return; char number[] = new char[n]; for(int i = 0;i<n;i++) { number[i] = '0'; } while(!increment(number)) { printNumber(number); } } //每次数值+1 boolean increment(char[] number) { int nTakeOver = 1; boolean isOverflow = false; int len = number.length; for(int i=len-1;i>=0;i--) { int sum = number[i] - '0' + nTakeOver; if(sum>=10) { if(i == 0) isOverflow = true; nTakeOver = 1; number[i] = (char)('0'+sum-10); } else { number[i] = (char)('0'+sum); break; } } return isOverflow; } void Arrange_Print1ToMaxOfNDigits(int n) { if(n<=0) { return; } char number[] = new char[n]; for(int i = 0;i<n;i++) { number[i] = '0'; } for(int i=0;i<10;i++) { number[0] = (char)('0' + i); Recursive(number,number.length,0); } } void Recursive(char[] number,int length,int index) { if(index+1 == length) { printNumber(number); return; } for(int i=0;i<10;i++) { number[index+1] = (char)('0' + i); Recursive(number,number.length,index+1); } } void printNumber(char[] number) { boolean isZero = true; for(int i=0;i<number.length;i++) { if(isZero && number[i]!='0') { isZero = false; } if(!isZero) { System.out.print(number[i]); } } System.out.println(); } public static void main(String[] args) { // TODO Auto-generated method stub Print1ToMaxOfNDigits p = new Print1ToMaxOfNDigits(); p.Arrange_Print1ToMaxOfNDigits(2); }}
0 0
- 剑指offer-12 打印1到最大的N位数
- 剑指offer 12 -打印1到最大的n位数
- 剑指Offer-12-打印1到最大的n位数
- 剑指Offer 12 打印1到最大的n位数
- 剑指offer-12:打印1到最大的n位数
- 剑指Offer之打印1到最大的N位数
- 剑指offer:打印1到最大的n位数
- 【剑指offer】打印1到最大的n位数
- [剑指Offer]打印1到最大的n位数
- 【剑指offer】打印1到最大的n位数
- 剑指Offer之打印1到最大的n位数
- 剑指Offer之 - 打印1到最大的n位数
- 剑指offer:打印1到最大的n位数
- [剑指offer-1515]打印1到最大的N位数
- 剑指offer 打印1到最大的N位数
- 剑指Offer--012-打印1到最大的N位数
- 剑指Offer 打印1到最大的n位数
- 剑指Offer:打印1到最大的N位数
- 【Codeforces Round 324 (Div 2)D】【miller-rabin素数检验 猜想】Dima and Lisa 奇数拆分成三素数
- 常见的设计模式(二)——简单工厂模式
- POI导出JavaWeb中的table到excel下载 (很通用)
- Android各种分辨率
- char*转wchar_t
- 剑指Offer-12-打印1到最大的n位数
- 博客迁移acmerbar.com
- WIN7快捷键列表
- 最大流/最小割(maxflow/mincut)的原理讲解和代码实现
- 1100. Mars Numbers
- 数组作为函数形参的一点总结
- 【Codeforces Round 324 (Div 2)E】【贪心 构造】Anton and Ira 全排列交换 最小距离成本
- echo(),print(),print_r()之间的区别?
- iOS app上传问题