66. Plus One
2016-03-01 12:02
337 查看
Problem:
Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
Analysis:
题目意思:将一个非负整数的每个数字都放到一个数组中,高位在前,如34,放到数组中为[3][4],给这个数字加1,然后返回数组。
注意:
考虑进位情况,每一位都要考虑,而且有可能最高位也需要进位,这时候数组位数不够,需要新建数组,然后赋值。
CodeGanker分析.
“我自己在Google的电面中就遇到了这道题,我觉得为什么Google喜欢的原因是后续可以问一些比较基本的扩展问题,比如可以扩展这个到两个数组相加,或者问一些OO设计,假设现在要设计一个BigInteger类,那么需要什么构造函数,然后用什么数据结构好,用数组和链表各有什么优劣势。这些问题虽然不是很难,但是可以考到一些基本的理解,所以平时准备有机会还是可以多想想哈”
Anwser:
Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
Analysis:
题目意思:将一个非负整数的每个数字都放到一个数组中,高位在前,如34,放到数组中为[3][4],给这个数字加1,然后返回数组。
注意:
考虑进位情况,每一位都要考虑,而且有可能最高位也需要进位,这时候数组位数不够,需要新建数组,然后赋值。
CodeGanker分析.
“我自己在Google的电面中就遇到了这道题,我觉得为什么Google喜欢的原因是后续可以问一些比较基本的扩展问题,比如可以扩展这个到两个数组相加,或者问一些OO设计,假设现在要设计一个BigInteger类,那么需要什么构造函数,然后用什么数据结构好,用数组和链表各有什么优劣势。这些问题虽然不是很难,但是可以考到一些基本的理解,所以平时准备有机会还是可以多想想哈”
Anwser:
public class Solution { public int[] plusOne(int[] digits) { int length=digits.length;//后面多处用到digits.length,赋值新变量后减少计算次数。 if(length==0) return digits; int flag=1;////设置进位标识,初始值为1,意为数组最后一位+1操作 int temp=0; for(int i=length-1;i>=0;i--){ temp=digits[i]+flag; if(temp>=10) flag=1; else flag=0; digits[i]=temp%10; } //如果digits数组第一个数加flag大于10,即须要进位,则需要新建一个数组,第一位赋值1,其余位赋值digits各位。 if(flag==1){ int[] result= new int[length+1]; result[0]=1; for(int j=1;j<=length;j++){ result[j]=digits[j-1]; } return result; } else return digits; } }
相关文章推荐
- Android视图View之--获取View大小时机
- 结合网上内容,分享一个,java用for循环创建i个对象,的方法
- 认识Jmeter操作界面
- 士兵杀敌(一)
- JavaScript html5 canvas绘制时钟效果
- Unity for iOS 调用UIDatePicker
- servlet基础
- php分享二十六:读写日志
- 二叉树的子结构
- slf4j--源码解析
- 2016寒假训练——搜索
- Android通知栏多条通知冲突的问题
- java多线程之CAS
- javascript使用Promise对象实现异步编程
- Android进度条实例
- jquery-追加元素
- ramfs ramdis tmpfs rootfs initrd initramfs swap区别
- MFC CEdit限定输入数字
- hust1017Exact cover【dancing links 模板题】
- Android JSBridge的原理与实现