题目:

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

我的解答:第一版:

class Solution {public int[] plusOne(int[] digits) {//last 表示当前加1的位置int last = digits.length-1;// 如果当前加1  大于等于10while (last >=0 && digits[last] +1 >=10){//当前位置的数字为10的余数digits[last] = (digits[last] +1) %10;//需要加1的位置往前走last --;}//如果需要加1的位置是-1 说明当前数组不够用了if (last == -1) {int[] arr = new int[digits.length+1];arr[0] = 1;System.arraycopy(digits,0,arr,1,digits.length-1);return arr;}else {digits[last] +=1;}return digits;}
}

第二版:

class Solution {public int[] plusOne(int[] digits) {//第二版//last 表示当前加1的位置int last = digits.length-1;// 如果当前加1  大于等于10while (last >=0 && digits[last] ==9){//当前位置的数字为10的余数digits[last] = 0;//需要加1的位置往前走last --;}//如果需要加1的位置是-1 说明当前数组不够用了if (last == -1) {int[] arr = new int[digits.length+1];arr[0] = 1;System.arraycopy(digits,0,arr,1,digits.length-1);return arr;}else {digits[last] +=1;}return digits;}
}

算法----------加一相关推荐

  1. SM2国密算法加解密

    接口安全设计原则的一个点就是数据不能明文传输,除了https这个必须的请求外,接口数据加密也是一个重要的方式,下面介绍一下SM2国密算法加解密的使用方式. 这里我就针对目前前后端分离架构的方式来简单介 ...

  2. 国密SM2算法的只求理解不求甚解 (4/5)SM2算法加解密协议

    国密SM2算法的只求理解不求甚解 (1/5)前置数学知识:模运算 国密SM2算法的只求理解不求甚解 (2/5)前置数学知识:平面几何 国密SM2算法的只求理解不求甚解 (3/5)SM2算法数学模型 国 ...

  3. RSA算法加解密的C语言实现

    RSA算法加解密的C语言实现 一. 实现的功能 二. 源代码 一. 实现的功能 用户输入明文 自动随机生成较大的数p和q,并对它们进行素性检测,检测成功之后,程序继续 计算Φ(n)的值,并求出它的所有 ...

  4. ElGamal算法加解密

    文章目录 ElGamal算法加解密 算法流程 代码实现 测试数据 运行结果 ElGamal算法加解密 算法流程 参数选取:素数p,生成元g,小于p的随机非负整数x 产生密钥:公钥: y = g ^ x ...

  5. AES算法加解密及简单图像化界面实现

    RIJNDAEL 加密算法 注意:本文实现的AES算法的密钥,明文,密文均为128位,后续可能会添加192位或256位的密钥.函数flag参数默认是1,即加密,在解密调用时改为0即可. 先放个运行效果 ...

  6. php凑整10算法,加减凑整法教案

    教案示例课题:口算整百.整千数的加减法教学目标1.使学生掌握口算整百.整千数加减法的计算方法,能正确地计算.2.初步培养学生的类推能力和的灵活性.3.初步培养学生仔细审题,认真计算的学习习惯.教学重点 ...

  7. 使用openssl的EVP接口使用sm2算法加解密等操作

    OpenSSL 1.1.1版本提供了对国密SM2算法的支持.但是不知为什么这么设计,将sm2.h sm3.h sm4.h这些头文件放在源码的cryto/include/internall目录下,这样导 ...

  8. ECDSA算法加解密验签

    前段时间,因为公司业务需求研究了一下加密验签算法,找到了网上一位大佬的研究代码参考 Java中加密算法介绍及其实现 - 枫飘雪落 - 博客园 在大佬的研究中说明中找到了我需要的算法介绍,但是下载了大佬 ...

  9. 国产SM3hash算法加盐使用实例

    SM3加盐使用实例使用介绍 环境:java的运行环境 以及添加包含SM3的包(我这里使用的是bouncycastle的jar) 什么要加盐:当hash算法的强碰撞和弱碰撞都保证了的时候,我们还是可以使 ...

  10. RSA,AES算法加解密

    密码的前世今生 密码Cryptology,是一种混淆人们视听的一种技术.将可以被正常认知的信息转变成不可以被识别的信息.有交流就有信息,有信息的传递,自然会产生秘密,这是文明发展的必然.密码的出生自然 ...

最新文章

  1. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
  2. python生成伪随机数的扩展库_python模块介绍-random:生成伪随机数
  3. 实验5 matlab程序设计2,实验5 Matlab程序设计2
  4. ZABBIX 3.2.7 (源码包)安装部署
  5. python怎么读取txt文件-Python三种读取txt文件方式
  6. 【图论】最短路学习笔记
  7. 1208_MISRA_C规范学习笔记_Rule 10.3 Rule 10.5
  8. 用css hack解决IE5 IE5.5 IE6 Firefox浏览器兼容性
  9. hdu5773 LIS+贪心
  10. 规则库捕获漏洞信息专用脚本
  11. NLP学习实践天池新人赛打卡第一天
  12. 易车与汽车之家俩大巨头对决
  13. TS在vue中的应用
  14. Echarts地图标记重合问题原因
  15. 【毕业设计】基于超声波与红外的自动调速风扇系统(代码开源) -物联网 嵌入式 stm32
  16. 苹果macOS10.15.7新版本下的SecureFX与SecureCRT破解后显示文件受损解决方法
  17. 【HD 1878】欧拉回路
  18. Cisco Catalyst 9000 系列,IOS-XE Release Bengaluru-17.06.01 ED
  19. css让文字不停浮动
  20. FPGA并行编程-以HLS实现数字信号处理

热门文章

  1. linux java tar_tar包在linux下java安装
  2. 边缘与锐化滤波(MATLAB)
  3. python做的数据图表怎么在flask中显示_Flask使用Pyecharts在单个页面展示多个图表的方法...
  4. arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序
  5. python能处理多大的数据包-利用Python进行数据处理(更新)
  6. 3星|《掌控大趋势》:全球当前政治经济形式的资料汇编整理,对未来的预测很少,也缺乏独到深刻的见解...
  7. CSS sprites
  8. cordova编译报错:Execution failed for task ':processDebugResources'
  9. Vim编程之:tags,cscope,taglist
  10. 专访WebRTC标准之父Daniel C. Burnett