• 算法--------数组类---------总结


    前言:

    写算法也写了十来天了,都是数组类的。今天完成了一个课题,觉得需要总结下。今天突然很遗憾的发现,自己之前写过的算法,现在自己回想起来,也不知道怎么解决。

    温故而知新。决定,今天就不写算法题了,决定思考总结下之前的算法题。

    移动零:

    这个人的思路真的是很厉害。我尝试问自己,这个人是怎么样想的?我去按照他的思路去思考问题。
    常规思路:遇到非零的,不变。遇到0,把他移动到最后。这个移动到最后,写法又是一个循环。
    仔细想想,这种思路就不可取。除非万不得已,因为实现起来,太复杂了。而且,也不会最优秀的算法。

    网上最快的思路,怎么说呢,大致思路是,两个指针,一个指向当前遍历的,一个是指向当前是0的位置,等待交换。交换完之后,j++; 指向0的位置的变量j++. 为什么j++ 就一定还是0 呢? 因为从j 到 i 这个区间,都是0 。如果当前不是0的话,那么i 和 j 都 ++;

    说实话,那个网上写法最简答, 而且算法效率最高的人的思路,我现在还是不明白,他是怎么想出来的。

    总结:

    1. 虽然有些情况,自己还是不是很确定自己完全掌握了别人的思维。但是,90%的题,我都了解了。对自己的面试肯定有帮助。
    2. 学习总是有用的。
    3. 加油。
  • 相关阅读:
    python 编码问题
    关于网页划词翻译
    clang 编译 c++
    Java流(Stream)操作实例筛选、映射、查找匹配
    JAVA系列笔记十八之nohup实现后台运行程序
    VSCode汇总
    java jdk 国内下载镜像地址及安装
    LocalDate、LocalDateTime与timestamp、Date的转换
    List.sort()排序功能
    Java Array、List、Set互相转化
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/10568507.html
Copyright © 2020-2023  润新知