zoukankan      html  css  js  c++  java
  • Day 3

    第二十六题:

    给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

    不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

    来源:力扣(LeetCode)

    1、可以定义两个指针 i 和 j ,i指向数组下标0,j指向数组下标1;

      判断此时 i 和 j 所指向的数据是否相同;

      如果相同,则 j 后移一位,如果不同,则将 i++,再把 j 指向的数据复制到 i 位置上;

      依次循环,最后返回 i+1 个数的数组元素。、

      

    2、还可以用另一种非双指针的方法,可以定义一个参数 len 来记录两者之间的重复个数,当在遇到下一个不同的元素时,将这个元素向前移动 len 位。

      

    第283题:

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。(来自LeetCode)

    1、用两个指针 i 和 j 指向首位,

      然后用 i 下标遍历整个数组,当遇见nums[i]不等于 0 时,将i和j下标所指元素交换;(若首位都不为0,此时i和j上的元素交换无意义,只有当它们同时指向为0时,它们才会错开)

      循环下去,最后得出结果。

       

    2、用i和j指向数组0下标,(遍历数组,当遇见不为0的数,将其移到前面,下标后移)

      利用i遍历数组,一开始i和j都指向0下标,当此元素为0时,i后移;

      直到当i下标指向的元素不为0时,将该元素赋给j下标元素;j后移;

      依次循环,得出结果

      

  • 相关阅读:
    fastcgi性能调优(转)
    nginx location配置(转)
    elasticsearch配置文件详解(转)
    linux常用信号集
    phpstorm快捷键总结
    浅谈MVC中的service层(转)
    php中的内存管理的介绍(转)
    使用C语言开发PHP扩展(转)
    Linux恢复误删除的文件或者目录(转)
    笔记整理3——python实现MAC分析地理位置
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13132158.html
Copyright © 2011-2022 走看看