• leetcode刷题总结601-650


    606. 根据二叉树创建字符串

      描述:

        

       思路:缕清关系,写出递归方程式。

    611. 有效三角形的个数

      描述:

        

       思路:排序。固定两个元素,然后二分找满足的最小边。

    621. 任务调度器

      描述:

             

       思路:先统计每个字符的个数。然后贪心的去选择前n高的去运行。

    623. 在二叉树中增加一行

      描述:

        

       思路:广度优先找到第d-1层。然后开始插入结点。

    629. K个逆序对数组

      描述:

        

       思路:动态规划。当增加一个元素的时候,dp[i][k]表示给定I(n),有K个逆序对的个数。dp[i][k]=dp[i-1][k]+dp[i-1][k-1]+.....dp[i-1][k-i+1]

    630. 课程表 III

      描述:

        

       思路:贪心选deadlines最先截至的,如果遇到冲突了,看当前的持续时间和已经存储的持续时间的最大值谁大,再决定是否弹出大顶堆的头。

    632. 最小区间

      描述:

        

       思路:

        对每个树存一个《数字,所属数组》进行排序,然后滑动窗口。

    636. 函数的独占时间

      描述:

        

       思路:栈。

    638. 大礼包

      描述:

        

       思路:递归。递归的时候先计算本来原价多少,然后递归min.min的时候每次遍历特价时候,先去克隆一个需要买的数量,然后用这个克隆去减去特价数量后递归最小值。

    639. 解码方法 2

      描述;
        

       思路:动态规划。需要考虑前一个元素为*,前2个元素为*等等情况考虑细致。

    640. 求解方程

      描述:

        

       思路:分隔。求x系数和常熟。

    646. 最长数对链

      描述:
        

       思路:动态规划。dp[i]表示以pair[i]结尾的最长连的长度。当j>i,dp[j][0]>dp[i][1]的时候,对dp[j]进行遍历。

    647. 回文子串

      描述:

        

       思路:动态规划。dp[i][j]字符串从i-j是否为回文。一个字符是,两个字符判断相等,三个以上dp[i][j]=dp[i+1][j-1]如果相等。否则直接flase.

    648. 单词替换

      描述:
        

       思路:词典树。

    649. Dota2 参议院

      描述:

        

       思路:队列。先统计次数。然后遇到一个R/D,将后面的D/R去掉,然后再出队列,入队列。知道某一个势力数量为0.

    650. 只有两个键的键盘

      描述:
        

       思路:动态规划。dp[i][缓存中数量]=min(dp[i-j][j]+1,dp[i][j])

  • 相关阅读:
    linux-01-04(创建文件夹mkdir,进入目录命令cd,创建文件命令 echo cp vim touch等,批量创建文件操作)
    linux-05(tar命令的使用)
    linux-06(移动命令mv)
    linux-07(复制命令cp)
    linux-08(查看命令历史记录history)
    cookie
    vue-router路由懒加载
    setTimeout async promise执行顺序总结
    forEach陷阱
    函数节流与函数防抖之间的区别
  • 原文地址:https://www.cnblogs.com/dhName/p/13311204.html
Copyright © 2020-2023  润新知