zoukankan      html  css  js  c++  java
  • LeetCode编程总结

    # 1、在有序表中查找两数组指定的和,双指针法
    # 2、滑动窗口 : 连续子数组之和
    # 3、二分查找 : 顺序数组中查找特定的值

    # 4、递归程序的真正的构建是从底向上的,这就是为什么递归终止条件要写在最前面
    # 参见 反转链表的递归程序 LeetCode206

    # 5、 链表归并排序的递归过程,要好好体会一下

    # 6、树型的暴力搜索(全路径搜索 、DFS )需要进行回溯 参见 LeetCode 93

    # 7、利用 return 能使树型递归提早结束,类似于DFS 参见 LeetCode 37

    # 8、记忆化搜索,自上而下的解决问题、 动态规划,自下而上的解决问题 参见斐波那契数列

    # 9、记忆化递归时,一开始就需要判断原问题是否被再次遇到,若遇到则返回记忆值,若没遇到则
    # 进入递归过程,并更新记忆值 错误来源参见 LeetCode 198

    # 10、递归返回的过程,其实就是自底向上的构建过程(类似于动态规划)、 参见 LeetCode 337 刘宇波代码3

    # 11、深度递归和层次递归的感悟: 参见LeetCode 322
    #深度递归需要使用传递状态参数,并一般使用全局变量更新最优解
    #层数递归只需要考虑底层和上一层的递推关系,一般不使用全局变量

    # 12、01背包问题:一个序列的各个元素都有选与不选两种状态
    # 20190113

    # 13、数组的记忆化递归和字典的记忆化递归? LeetCode 137 20190119

    # 14、动态规划难的是状态的定义, 如 LeetCode 376 上升沿和下降沿的状态

    # 15、动态规划状态定义的一般原则是F(n,r):n是问题规模,r是该规模下的特定限定,比如LeetCode 376
    # 的状态定义就是一个很好的启示

    # 16、动态规划总结:1)解空间树加重复子问题 生长学习法
    # 2)最优问题: 最大值最小值……
    # 3)子问题的同质: 都是连续序列、矩阵……
    # 4)重复问题: 空间换时间 状态矩阵
    # 5)从顶向下:记忆数组 从底向上:递推 终局思想 本质是同一个东西。 20190228


    # 17、编程要注意状态的定义,变量的代表含义 ,如直接插入排序 j代表a[i]直接要插入的空预留位值,j-1 要不断的
    # 与temp=a[i] 比较 :即要找到 a[i] 插入的最终位置。


    # 算法面试一定要先实现出来,然后再考虑优化的可行性。
    # 算法注重的是思想,如leetcode 108 怎样才能想到用递归的思想呢?
    # 总的来说还是我的编程思想的素养不够呀 --20190305
    # 编程题要进行一定的抽象建模 如 LeetCode 235 二叉树搜索树的公共祖先问题。
    # 编程时一定要注意函数的定义是什么? 如Leetcode 236 函数的定义是返回最终的答案 20100305
    # 编程问题也要注意分治讨论:即划分问题的子空间:
    # 如 leetcode404 : 1)根节点有左叶子 2)根节点没左叶子


    # 20190302 找工作期间 总结
    #18、 数组类问题:
    # 1)滑动窗口
    # 2)查找表
    # 解空间树
    # 1)初值状态的确定
    # 2)搜索策略 : 剪支 (优化问题)
    # 递归和分治类问题:是个基本的编程思想(函数的定义很重要)
    # 1)递归返回值的处理:
    # 要定义好函数的返回逻辑或状态或者值,并从底向上构建
    # 如 leetcode 108 和 113 20190305
    # 2)递归程序的编写:
    # # 先写返回条件
    # 返回条件写好了,就可以当做函数功能已经完成,并可以分治的解决问题了
    # 3) 数据结构有递归结构,要考虑一下递归的算法
    # 如数组、链表、二叉树等 20190305
    # 4)visit 数组用于去重
    # 5)状态出栈用于回溯
    # 动态规划:
    # 1)初值的设定是关键:a 状态函数的定义可以说明函数的初值 如 01背包问题
    # b 初值的设置技巧可以用最小规模数据进行验证
    # 2)状态的递推顺序:新值必须在旧值的基础上
    # 20190306
    # 贪心:最强烈的状态给最强烈的需求 :分饼干 20190306
    # 1)证明过程只能是反证法
    #
  • 相关阅读:
    Tomcat自定义classLoader加密解密
    阿里巴巴2015秋季校园招聘研发工程师在线笔试题
    【Machine Learning】Mahout基于协同过滤(CF)的用户推荐
    基于Jenkins自动构建系统开发
    反射invoke()方法
    java对象序列化与反序列化
    从文本文件逐行读入数据
    Linux下MySQL小尝试
    【Html 学习笔记】第四节——框架
    穷举法
  • 原文地址:https://www.cnblogs.com/lux-ace/p/10546981.html
Copyright © 2011-2022 走看看