论j++与++j在数组运用中的重要性
public class RemoveDuplicates {
public static int removeDuplicates(int[] nums) {
int i=0;
int j=0;
for(i=0;i<nums.length-1;i++)\{
if (nums\[i+1\]==nums\[i\])
continue;
else
nums\[++j\]=nums\[i+1\]; //式1
// nums\[j++\]=nums\[i+1\]; //式2
\}
for(int k=0;k<nums.length;k++)\{
System.out.println("nums="+nums\[k\]);
\}
return j+1;
\}
public static void main(String\[\] args) \{
int\[\] arrays = \{ 1, 1, 2 \};
int length=removeDuplicates(arrays);
System.out.println("length="+length);
\}
}
该程序目的为剔除一排好序的数组中重复的数字,式1和式2的差别在于nums[++j]是将j+1的值作为nums的当亲索引,而nums[j++]是将j的值先作为nums的索引后,j再自增所以该算法中应该选择式1
还没有评论,来说两句吧...