zoukankan      html  css  js  c++  java
  • leetcode刷题——一些算法技巧总结1.0

    1. 运算符优先级,简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

    2. 把数字取反,可以作为一种标记

    3. pythonlast = {c: i for i, c in enumerate(S)}标记字符串S中每个字母的最后一个位置,存到字典last中

      十分简洁的写法!!!

    4. 二分法规则:

      如果是这么写while(left <= right) {},代表是左闭右闭区间
      更新这么更新

      {
       right = mid -1 
       left = mid +1
      }
      

      如果是这么写while(left < right) {},代表是左闭右开区间
      更新这么更新

      {
       right = mid  
       left = mid +1
      }
      

      如果是这么写while(left < right-1) {},代表是左右双开区间
      更新这么更新

      {
       right = mid 
       left = mid 
      }
      

      mid = low + (high-low)/2 这样写防止溢出 !

    5. 第167题:two num和第560题:Subarray Sum Equals K 有相同的思想:

      可以使用字典:key: 遍历list时记录子list的sum值

      ​ value:遍历list时记录子list的sum值出现的次数

      这样要找sum为target的次数,就可以找`sum-k`的值出现的次数;
    
      要找sum为target的位置,把此时等于sum的位置返回即可。
    
  • 相关阅读:
    2019-11-12-WPF-添加窗口消息钩子方法
    2018-11-21-WPF-解决-ViewBox--不显示线的问题
    ARRAY_SIZE宏
    tcp校验和
    arp命令
    sk_buff
    printf打印字节
    dmesg命令
    insmod/rmmod
    ifup/ifdown
  • 原文地址:https://www.cnblogs.com/zlting/p/10168390.html
Copyright © 2011-2022 走看看