关键词:
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:
输入:digits = [0]
输出:[1]
提示:
1 <= digits.length <= 100
0 <= digits[i] <= 9
C++代码:
vector<int> ans;
int len = digits.size();
bool sign_t = false;//是否要进位
for (int i = len - 1; i >= 0; i--)
if (i == len - 1)
++digits[i];
if (digits[i] == 10)
sign_t = true;
digits[i] = 0;
else
break;
else if(sign_t)
++digits[i];
sign_t = false;
if (digits[i] == 10)
sign_t = true;
digits[i] = 0;
else
break;
if (sign_t)
ans.push_back(1);
for (int a : digits)
ans.push_back(a);
return ans;
C#代码:
int len = digits.Length;
bool sign = false;//是否要进位;
int[] ans = new int[len + 1];
for(int i = len - 1; i >= 0; i--)
if (i == len - 1)
digits[i]++;
if (digits[i]==10)
digits[i] = 0;
sign = true;
else
break;
else
digits[i]++;
if (digits[i] == 10)
digits[i] = 0;
sign = true;
else
sign = false;
break;
if (sign)
ans[0] = 1;
for(int i = 0; i < len; i++)
ans[i + 1] = digits[i];
else
ans = digits;
return ans;
力扣刷题:加一(c++和c#)(代码片段)
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:... 查看详情
力扣刷题:四数之和(c#)(代码片段)
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d<... 查看详情
力扣刷题:四数之和(c#)(代码片段)
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d<... 查看详情
力扣刷题:四数之和(c++)(代码片段)
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d<... 查看详情
力扣刷题:四数之和(c++)(代码片段)
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d<... 查看详情
力扣刷题之贪心算法(c++)(代码片段)
...求解每一个子集的最优解将局部最优解迭代成全局最优解力扣例题455.分发饼干分析:因为饥饿度最小的孩子最容易吃 查看详情
力扣刷题之双指针(c++)(代码片段)
(学习参考书:LeetCode101)双指针双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延申多个数组的多个指针。若两个指针指向同一数组,遍历方向相同且不会相交,则... 查看详情
力扣刷题(代码片段)
两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2... 查看详情
力扣刷题每日打卡(代码片段)
力扣刷题:重新排列数组:/***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/int*shuffle(int*nums,intnumsSize,intn,int*returnSize)if(numsSize==1)*returnSize=1;returnnums;in 查看详情
力扣刷题每日打卡(代码片段)
力扣刷题:重新排列数组:/***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/int*shuffle(int*nums,intnumsSize,intn,int*returnSize)if(numsSize==1)*returnSize=1;returnnums;in 查看详情
力扣刷题:四数之和(c#)(代码片段)
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d<... 查看详情
力扣刷题—两数之和(代码片段)
题目:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重... 查看详情
力扣刷题-搜索插入位置(代码片段)
力扣题目链接题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。使用时间复杂度为O(logn)的算法。你可以假设数组中无重... 查看详情
力扣刷题:四数之和(c++)(代码片段)
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d<... 查看详情
力扣刷题笔记--304二维区域和检索-矩阵不可变前缀和(代码片段)
304二维区域和检索-矩阵不可变作者:AC_OIer链接:https://leetcode-cn.com/problems/range-sum-query-2d-immutable/solution/xia-ci-ru-he-zai-30-miao-nei-zuo-chu-lai-ptlo/来源:力扣(LeetCode)著作权归 查看详情
力扣刷题:岛屿数量(java实现)(代码片段)
给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以... 查看详情
力扣刷题算法笔记(javascript版)(代码片段)
...很多算法这个up主讲的真的非常好适合小白去听算法都是力扣难度中等和简单的b站视频链接1、岛屿最大面积(求两数最大和)解析:提供一个数组,给了一个target要求是在数组中找到两个数的和为target思路:1... 查看详情
力扣刷题详解(含代码动态展示)(代码片段)
(文章目录)一、448.找到所有数组中消失的数字1.完整过程动态展示2.代码实现int*findDisappearedNumbers(int*nums,intnumsSize,int*returnSize)int*ptr=(int*)malloc(sizeof(int)*numsSize);intindex=0;intnoindex=0;while(index<numsSize)if(num 查看详情