您的位置:首页 > 其它

题目:加一

2015-08-19 19:02 501 查看
给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。

该数字按照大小进行排列,最大的数在列表的最前面。

您在真实的面试中是否遇到过这个题?

Yes

哪家公司问你的这个题?
Airbnb
Alibaba
Amazon Apple
Baidu Bloomberg
Cisco Dropbox
Ebay Facebook
Google Hulu
Intel Linkedin
Microsoft NetEase
Nvidia Oracle
Pinterest Snapchat
Tencent Twitter
Uber Xiaomi
Yahoo Yelp
Zenefits
感谢您的反馈

样例

给定
[1,2,3]
表示 123, 返回
[1,2,4]
.

给定
[9,9,9]
表示 999, 返回
[1,0,0,0]
.

标签 Expand

数组

相关题目 Expand

2
(high-precision)
中等 两个整数相除 16 %
1
(string),(binary)
容易 二进制求和 23 %

public class Solution {

/**

* @param digits a number represented as an array of digits

* @return the result

*/

public int[] plusOne(int[] digits) {

// Write your code here

int add[] = new int[digits.length+1];

int carry = 0;

int k = 0;

for(int i=digits.length-1;i>=0;i--){

if(i==digits.length-1){

add[k++] = (digits[i]+carry+1)%10;

carry = (digits[i]+carry+1)/10;

}else{

add[k++] = (digits[i]+carry)%10;

carry = (digits[i]+carry)/10;

}

}

if(carry == 0){

int m = 0;

int res[] = new int[digits.length];

for(int i=digits.length-1;i>=0;i--){

res[m++] = add[i];

}

return res;

}else{

int m = 1;

int res[] = new int[digits.length+1];

res[0] = carry;

for(int i=digits.length-1;i>=0;i--){

res[m++] = add[i];

}

return res;

}

}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: