双指针

26. 删除排序数组中的重复项

题解:
一层for,就是有一个指针指向0,遇到不同的就 向前偏移一位
image.png
image.png

  1. /**
  2. * @param {number[]} nums
  3. * @return {number}
  4. */
  5. var removeDuplicates = function(nums) {
  6. var j =0;
  7. var n = nums.length;
  8. for(let i=1;i<n;i++){
  9. if(nums[i]!=nums[i-1]){
  10. j++;
  11. nums[j] = nums[i];
  12. }
  13. }
  14. return j+1;
  15. }

977. 有序数组的平方

题解:
知识点:幂用Math.pow(number, 多少次幂), 平方根是Math.sqrt(number)

  1. /**
  2. * @param {number[]} A
  3. * @return {number[]}
  4. */
  5. var sortedSquares = function(A) {
  6. // return A.map(item => item**2).sort((a,b) => a-b)
  7. // return A.map(item => item*item).sort((a,b) => a-b)
  8. return A.map(item => Math.pow(item, 2)).sort((a,b) => a-b)
  9. }