leetcode-Remove Duplicates from Sorted Array II
来源:互联网 发布:拍照识别植物软件 编辑:程序博客网 时间:2024/05/13 08:59
算法思想:1、如果数组的长度小于2则删除重复后的数组长度则为原数组的长度
2、如果数组的长度大于2,设置两个变量初值i=0,j=1,k=0;
2.1如果num[i]=num[j],则只需把num[++k]=n[j]一次
2.2如果num[i]=num[j++],则把较大的j一直后移直到出现新的数字或者j的值大于数组长度,
2.3将j的值赋给i,并将j后移,判断i若小于数组长度则因新出现了一个数则,将该新的数赋值给num[++k]
重复2.1,2.2,2.3直到i,j大于数组长度
public class Solution { public int removeDuplicates(int[] nums) { int len=nums.length; int i=0,k=0,j=1; if(len<=2) return len; else { nums[k]=nums[i]; while(i<len&&j<len){ if(nums[i]==nums[j]) { nums[++k]=nums[i]; } while(i<len&&j<len&&nums[i]==nums[j]) { j++; } i=j; j++; if(i<len) { nums[++k]=nums[i]; } else break; } return k+1; } }}总结,要注意是k++与++k的不同,若k=0,则表达式k++的值为0,k的值变为1;表达式++k的值为1,k的值为1
因为刚开始的时候把nums[k++]=n[j],结果一直不通过,不通过的例子是输入的是[1,2,2],错误输出了[2,2,2],调了好长时间
不能想当然啊,粗心大意
0 0
- LeetCode: Remove Duplicates from Sorted Array II
- [Leetcode] Remove Duplicates from Sorted Array II
- LeetCode: Remove Duplicates from Sorted Array II
- [Leetcode] Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- [leetcode] Remove Duplicates from Sorted Array II
- [LeetCode]Remove Duplicates from Sorted Array II
- [leetcode]Remove Duplicates from Sorted Array II
- LeetCode-Remove Duplicates from Sorted Array II
- [leetcode] Remove Duplicates from Sorted Array II
- LeetCode - Remove Duplicates from Sorted Array II
- LeetCode:Remove Duplicates from Sorted Array II
- LeetCode | Remove Duplicates from Sorted Array II
- Leetcode: Remove Duplicates from Sorted Array II
- 【leetcode】Remove Duplicates from Sorted Array II
- Leetcode: Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- Leetcode Remove Duplicates from Sorted Array II
- yii2简述一对一数据表关联
- 继承与接口
- 2015年7月13日创建博客的一日
- C语言中函数的妙用
- Android 运行程序报错:Unable to execute dex: Multiple dex files define Lcom/baidu/android/pushservice/Push
- leetcode-Remove Duplicates from Sorted Array II
- UVALive - 3363 String Compression 区间DP
- C语言入门学习总结(一)
- Java编程思想之清理与初始化
- jQuery学习笔记(一)——基础选择器、过滤选择器、表单选择器
- 时间序列分析步骤及sas代码
- MySQL时区修改
- HDU (1175)连连看
- 思科交换机创建vlan的命令是什么??