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就可以了
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    windows下安装rocketmq采坑全记录
    测试日常使用---网络协议与抓包
    python重写及重写后调用父类方法
    python继承和多态
    python私有成员都以双下划线“__”开头,仅类内部可访问
    http中的post请求发生了两次(多了一次options请求)的原因
    测试日常使用---linux命令:
    数据库性能优化
    pytest常用配置文件之pytest.ini
    pytest.main()的使用
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15014294.html
Copyright © 2011-2022 走看看