Plus One
来源:互联网 发布:淘宝卖家怎么看交易额 编辑:程序博客网 时间:2024/06/07 20:15
1.题目
给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
给定 [1,2,3]
表示 123, 返回 [1,2,4]
.
给定 [9,9,9]
表示 999, 返回 [1,0,0,0]
.
2.算法
思路是维护一个进位,从后往前扫描,如果有进位扫描下一位,如果没有直接返回,如果到了最高位任然进位,则我们要重新创建一个比原数组多一位的数组,并把第一位设为1
public int[] plusOne(int[] digits) { if(digits == null || digits.length==0) { return digits; } int carry = 1; //进位 for (int i = digits.length - 1; i >=0; i--) { int digit = (digits[i] + carry) % 10; carry = (digits[i] + carry) / 10; digits[i] = digit; if (carry == 0) //如果没进位直接返回 { return digits; } } int[] res = new int[digits.length + 1]; //到最高位重新创建数组如999 + 1 = 1000 res[0] = 1; return res;}
0 0
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- Plus One
- hibernate用关联映射时,Set集合如何按指定属性排序
- 可变变量
- Android抢Listview饭碗之RecyclerView浅析
- Php学习(一) 开发环境搭建
- Rolling Guidance Filter
- Plus One
- 【HTML5】house
- 一张“神图”看懂单机/集群/热备/磁盘阵列(RAID)
- ActionBar的MenuItem显示样式
- Change alias passwords of your Android Keystore
- 拖动tableView时收起键盘
- 自动类型转换(参照剑破冰山第6章学习总结)
- C语言编程练习随笔
- B 站 HTML5 播放器内核 Flv.js