public class Solution {
public List<Integer> findDuplicates(int[] nums) {
List<Integer> res = new ArrayList<>();
for(int i=0;i<nums.length;++i){
int index = Math.abs(nums[i])-1;
if(nums[index]<0)
res.add(Math.abs(index+1));
nums[index]=-nums[index];
}
return res;
}
}
别人的漂亮代码
public int findMaxConsecutiveOnes(int[] nums) {
int maxHere = 0, max = 0;
for (int n : nums)
max = Math.max(max, maxHere = n == 0 ? 0 : maxHere + 1);
return max;
}