public int removeElement(int[] nums, int val) {
int len = nums.length;
//考虑特殊情况
if (len == 0) {
return 0;
}
int i = 0;
for (int j = 0; j < nums.length; ++j) {
//如果等于目标值,则删除
if (nums[j] == val) {
continue;
}
// 不等于目标值时,则赋值给num[i],i++
nums[i++] = nums[j];
}
return i;
}
public int findMaxConsecutiveOnes(int[] nums) {
int length=nums.length;
int i=0;
int j=0;
for(int k=0;k<length;k++){
//如果数值等于1,就将i自增
if(nums[k]==1){
i++;
}else{
//否则的话,保存i和j之中的大值,令i=0,重新开始计数
j=Math.max(i,j);
i=0;
}
}
//最后输出两者之中的较大值
return Math.max(i,j);
}
public int[] plusOne(int[] digits) {
int s=digits.length;
//从个位开始,加1并模10
for(int i=s-1;i>=0;i--){
digits[i]++;
digits[i]%=10;
//如果不等于0,直接输出
if(digits[i]!=0){
return digits;
}
}
//循环完毕,模10的值全部等于0;则直接定义新数组,最高位为1,其余为0,直接输出。
int[] arr = new int[s+1];
arr[0] = 1;
return arr;
}
原文:https://www.cnblogs.com/dong-qing/p/14604784.html