博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
66. Plus One
阅读量:5088 次
发布时间:2019-06-13

本文共 1669 字,大约阅读时间需要 5 分钟。

题目:

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.

链接:  

一刷,从最末尾加一,判断进位是否为0,0的时候不需要往前再进位,直接返回,否则继续向前计算。要注意的是

1. idx - 1否则下标过界

2. python swap two variables的trick: , 

3. 最后一步还是要判断是否进位为1,不要光想着特殊情况忘记一般情况

4. python list.insert(index, value)两个输入变量的位置不要记错

class Solution(object):    def plusOne(self, digits):        """        :type digits: List[int]        :rtype: List[int]        """        if not digits:            return digits        carry = 1                for idx in range(len(digits), 0, -1):            carry, digits[idx - 1] = (carry + digits[idx - 1]) / 10, (carry + digits[idx - 1]) % 10            if not carry:                return digits        if carry:            digits.insert(0, carry)        return digits

2/12/2017, Java

错误:

1. i需要定义在循环体外面(或者用carry判断,i正常位置即可)

2. Java把int array默认初始化为0.

1 public class Solution { 2     public int[] plusOne(int[] digits) { 3         int carry = 1; 4         int sum = 0; 5         int i; 6          7         for(i = digits.length - 1; i >= 0; i--) { 8             sum = digits[i] + carry; 9             if (sum == 10) {10                 carry = 1;11                 digits[i] = 0;12             } else {13                 carry = 0;14                 digits[i] = sum;15                 break;16             }17         }18         if (i < 0) {19             int[] ret = new int[digits.length + 1]; // good to know, Java initialize here to 0.20             ret[0] = 1;21             return ret;22         }23         return digits;24     }25 }

 

转载于:https://www.cnblogs.com/panini/p/5582702.html

你可能感兴趣的文章
IOS开发中的分享到邮件
查看>>
Resharper插件的使用
查看>>
unity中UI的屏幕自适应代码
查看>>
lagou数据爬取
查看>>
井底飞天
查看>>
<a>标签实现锚点跳跃,<a>标签实现href不跳跃另外加事件(ref传参)
查看>>
C# async/await异步操作:异步执行方法封装
查看>>
display:inline、block、inline-block的区别
查看>>
geotrellis使用(二十五)将Geotrellis移植到spark2.0
查看>>
字符串
查看>>
SystemV-IPC
查看>>
NPOI 操作Word
查看>>
如何在Ubuntu上创建及管理LXC容器?
查看>>
如何在 VMware 上安装 CentOS 6.8
查看>>
js-权威指南-Web套接字
查看>>
C# 笔记——数据类型
查看>>
http模块
查看>>
让 Visio 2003/2007 同时开多个独立窗口
查看>>
Remove Duplicates from Sorted Array LeetCode
查看>>
Dubbo安装及其实战1
查看>>