码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode刷题——一些算法技巧总结1.0

时间:2018-12-24 16:14:12      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:运算符优先级   赋值运算   key   amp   sum   赋值   关系运算   返回   技巧总结   

  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的位置返回即可。

leetcode刷题——一些算法技巧总结1.0

标签:运算符优先级   赋值运算   key   amp   sum   赋值   关系运算   返回   技巧总结   

原文地址:https://www.cnblogs.com/zlting/p/10168390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!