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就可以了
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    grep命令、sed 命令 、awk命令、uniq命令
    正则表达式学习(python之re模块)
    linux目录结构
    shell之find命令详解
    shell之 ps、kill、killall命令详解
    linux用户及权限
    C#中数据类型char*,const char*和string的三者转换
    C#中通过SendARP读取MAC地址
    C#对字典Dictionary 的添加,遍历,移除系列操作
    CMD命令行实现复制一张图片1000份:
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15014294.html
Copyright © 2011-2022 走看看