zoukankan      html  css  js  c++  java
  • Python技巧篇及感悟之算法会议室

    Python技巧篇及感悟

    双指针:
    普通双指针:两个指针往同一个方向移动
    对撞双指针:两个指针面对面移动
    快慢双指针:慢指针+快指针

    while循环中如果用if的话,他一次或者终有一次符合条件的话,有return的话他就不会执行之后的whil了,直接结束
    代码解释

    # while a < num: # while循环中如果用if的话,他一次或者终有一次符合条件的话,有return的话他就不会执行之后的whil了,直接结束
            #     # 获取大数组中小数组的个数并且减去1,得到最后一个索引
            #     # if intervals[a].start <= intervals[a+1].end: # 列表里面是元组,tuple' object has no attribute 'start'
            #         # 元组没有start和end方法
            #     if intervals[a][-1] <= intervals[a+1][0]: # 这样一次的if判断会造成第一次判断对的话,他就不会管第二次了,
            #         return True # 如果判断正确的话就不会管下面的执行了,直接退出循环
            #     a +=1
            #     print('我应该不会被输出')
            #     # 下标索引与列表个数得关系,退出循环
    

    对于二维数组或者是多重数组内部的数组值的比较
    有时候从0开始不一定有从末尾开始减少的比较号
    while a < num: # while循环中如果用if的话,他一次或者终有一次符合条件的话,有return的话他就不会执行之后的whil了,直接结束

            #     # 获取大数组中小数组的个数并且减去1,得到最后一个索引
            #     # if intervals[a].start <= intervals[a+1].end: # 列表里面是元组,tuple' object has no attribute 'start'
            #         # 元组没有start和end方法
            #     if intervals[a][-1] <= intervals[a+1][0]: # 这样一次的if判断会造成第一次判断对的话,他就不会管第二次了,
            #         # 而且这样的话最后一项没有考虑到,这里就要用列表的start 和 end,但这里是元组
            #          return True # 如果判断正确的话就不会管下面的执行了,直接退出循环
            #     a +=1
    

    由大到小的剪,这样一定会取到最后一位,只要把开头控制为1就可以了

    
    for i in range(1,len(istart)):
                if istart[i][0] < istart[i - 1][1]: # 由大到小的剪,这样一定会取到最后一位,只要把开头控制为1就可以了
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    Spring Boot快速搭建Spring框架
    JVM内存管理机制
    开发者应该掌握的Java代码优化技能
    23种设计模式(8)-外观模式
    1823:【00NOIP提高组】方格取数
    【00NOIP提高组】单词接龙
    1821:【00NOIP提高组】乘积最大
    1820:【00NOIP提高组】进制转换
    时间复杂度比较
    hhhhh我想起来我的账号了
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15014294.html
Copyright © 2011-2022 走看看