加一

  • 题目
  • 大致思路
  • 代码实现

题目

大致思路

本题的技巧点在与对数组的熟悉程度,新建数组的默认数值为0,因此我们碰到999的数组元素时,直接扩充一位,并且将数组首元素复制为1即可。

其余的非全部为9的数组元素,只需要将9的位置赋值为0即可,0-8的元素,直接加1就可以了。

简单来讲:逢9规0,其余加1,全9扩充。

代码实现

package com.immunize.leetcode.delete_oneplus;/*** 加一:相当于实现一个竖式的加法计算:分析的结果为:逢9规0,其余加1,全9扩充。* * @author Mr IMMUNIZE**/
public class OnePlus {public int[] plusOne(int[] digits) {// 倒序遍历,相当于竖式加法。int n = digits.length;for (int i = n - 1; i >= 0; i--) {// 非9加1if (digits[i] < 9) {digits[i]++;return digits;}// 逢9置0digits[i] = 0;}// 全部为9,则需要数组扩充1位int[] result = new int[n + 1];result[0] = 1;return result;}
}
----------------------------------------------------------------------------
package com.immunize.leetcode.delete_oneplus;import java.util.Scanner;/*** Test:进行测试即可。* * @author Mr IMMUNIZE**/
public class OnePlusTest {public static void main(String[] args) {// 输入数组,以逗号隔开System.out.println("请输入数组:");Scanner sc = new Scanner(System.in);String s = sc.nextLine();String[] c = s.split(",");int[] array = new int[c.length];for (int i = 0; i < c.length; i++) {array[i] = Integer.parseInt(c[i]);}OnePlus op = new OnePlus();for (int j = 0; j < op.plusOne(array).length; j++) {System.out.print(op.plusOne(array)[j] + " ");}}}

20190813:(leetcode习题)加一相关推荐

  1. JVAV学习小练习(一)之leetcode习题之接雨水

    leetcode习题之接雨水 一.题目描述 给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水.(图片是从leetcode拉过来的) ...

  2. 《操作系统》第一章习题加解析

    <操作系统>第01章习题加解析 1. 计算机操作系统最主要的功能是( D ). A.把源代码转换成目标代码    B.提供硬件与软件之间的转换 C.提供各种中断处理程序    D.管理计算 ...

  3. ⭐算法入门⭐《线性枚举》简单09 —— LeetCode 66. 加一

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   给定一个由 整数 组成 ...

  4. LeetCode 66. 加一

    1. 题目 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 ...

  5. 20191023:(leetcode习题)最大连续1的个数 III

    最大连续1的个数 III 题目 大致思路 代码实现 题目 给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 .返回仅包含 1 的最长(连续)子数组的长度. 输入:A ...

  6. 20191021:(leetcode习题)乘积小于K的子数组

    乘积小于K的子数组 题目 大致思路 代码实现 题目 给定一个正整数数组 nums.找出该数组内乘积小于 k 的连续的子数组的个数. 输入: nums = [10,5,2,6], k = 100 输出: ...

  7. 20190915:(leetcode习题)对称二叉树

    对称二叉树 题目 大致思路 代码实现 题目 大致思路 判断依据很简单:①根节点相同,②③根节点的左(右)子树的值和根节点的右(左)子树的值相同即可,然后递归调用即可. 写的时候注意root为null的 ...

  8. 20190901:(leetcode习题)缺失数字

    缺失数字 题目 大致思路 代码实现 题目 大致思路 第一,将所有的数组加起来,再把0-(length-1)的数字和求出来,两个差值即为目标值. 第二:根据一个数 连续 ^ 同一个数 两次 得到的还是这 ...

  9. 《操作系统》第六章习题加解析(重点学习)

    贵州大学计算机科学与技术学院<操作系统>第 06 章习题解析 [客观题]参考答案 1 . 在操作系统中, P. V 操作是一种( D ). A. 机器指令                  ...

最新文章

  1. 桌面虚拟化之呼叫中心语音应用
  2. C++中不允许重复定义全局变量
  3. Python学习之迭代器协议
  4. python比较两个字符串相似度_详解Python 字符串相似性的几种度量方法
  5. PHP 基本数据类型
  6. 批量删除redis键
  7. 如何用余弦定理来进行文本相似度的度量
  8. python中的私有方法_Python: 内置私有方法
  9. 使用@onetomany取不到值_SpringCloud微服务架构篇2:微服务基础—SpringBoot使用
  10. BZOJ4998 星球联盟(LCT+双连通分量+并查集)
  11. R导出可编辑图到ppt:结合使用ggplot2以及officer
  12. css3探测光圈_一款带光圈阴影的纯CSS3 Instagram图标
  13. php使用adodb下载,ADODB的使用
  14. 手机连接linux共享打印机,连接Linux共享打印机
  15. SEO项目管理,该问自己的几个问题?
  16. ZeroClipBoard的诡异事件
  17. 画图形表格用ECharts
  18. urlrewriter 的用法
  19. 病毒泄密一个接一个,有7招能保护你的数字生活
  20. 使用接口实现翻译日语

热门文章

  1. 荣耀赵明 “Diss” 5G 手机;甲骨文创始人埃里森:Uber 一文不值;Chrome 77 发布 | 极客头条...
  2. 专访 Unity 技术总监 Mark Schoennagel、杨栋:基于 Unity 制作影视动画的几点建议!
  3. @程序员,沟通这项核心技能你掌握了多少?
  4. CSDN 创始人蒋涛:AI 定义的开发者时代
  5. 这届互联网公司月饼:阿里卡哇伊,百度酷炫风,京东乾隆审美……
  6. 这届 360 公关不行
  7. 心电图图平板运动测试软件,心电图和平板运动可以检查出心
  8. 计算机组成原理05章在线测试,《计算机组成原理》第05章在线测试.docx
  9. bootstrap获取选中行的主键_深入分析Mybatis 使用useGeneratedKeys获取自增主键
  10. Linux定义多个标准输入输出,言简意赅解释Linux中的标准输入输出