• LeeCode刷题-01


    1. 二分法查找
    def binary_serch(list_,item):
        low=0
        high=len(list_)-1
        if list_[-1]==item:
                return high
        while low<high:
            num=low+int((high-low)/2)#向下取整
            
            guess=list_[num]
            if guess==item:
                return num 
            if guess>item:
                high=num  
            if guess<item:
                low=num  
            # item_=list
    if __name__=='__main__':
        a=[1,4,6,8,10,11,23,100,230,1000]
        print(binary_serch(a,6))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    1. 冒泡排序
    def bubble_sort(list_):
        num=len(list_)
        for i in range(num):
            # print(i,num)
            for j in range(num-i-1):
                print(j)
                m=list_[j]
                n=list_[j+1]
                if m>n:
                    list_[j+1]=m
                    list_[j]=n
        return list_
    if __name__=='__main__':
        a=[1,4,6,8,10,11,23,100,230,1000]
        print(bubble_sort(a))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    1. 散列表,就是Python里的字典。
    2. 递归练习:利用递归求出列表中所有值的和
    def recursion_sum(list_):
        num=len(list_)
        if num>1:
            sum_=list_[0]+recursion_sum(list_[1:])
            return sum_
        if num==1:
            return list_[0]
    def sum1(arr):
    	if arr:
    		return arr[0] + sum1(arr[1:])
    	else:
    		return 0
    
    if __name__=='__main__':
        a=[1]
        # print(sum1(a))
        print(recursion_sum(a))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    1. 快速排序:一种常用排序算法,比选择排序快的多。

      6. python语法学习

      • 三元运算符,在c/c++里使用
      a=2
      b=3
      max=a>b?a:b
      
      • 1
      • 2
      • 3
      • 列表循环, 借助该语句可以形成一个新列表,适用python
      array=[1,4,2]
      pivot=1
      new_array=[i for i in array[1:] if i < pivot]
      
      • 1
      • 2
      • 3
      • lambda表达式,,均适用
      max=lambda x,y:x if x>y else y 
      
      • 1
      • 直接判断句,适用python
      a=3
      b=2
      small=a if a<b else b
      
      • 1
      • 2
      • 3
      1. 广度优先搜索
        点击上述链接进行学习,自己写的代码如下
      def person_is_mango_seller(person):
          if person=="thom":
              return True 
          else:
              return False  
      if __name__=='__main__':
          graph={} # 字典
          graph["you"]=["alice","bob","claire"]
          graph["bob"]=["anuj","you","peggy"]
          graph["claire"]=["you","thom","jonny"]
          graph["anuj"]=["bob"]
          graph["peggy"]=["bob","alice"]
          graph["thom"]=["claire"]
          graph["jonny"]=["claire"]
          graph["alice"]=["you","peggy"]
      
          searched=[]
          search_quede=deque()
          search_quede+=graph["you"]
          searched.append("you")
      
          while search_quede:
              name=search_quede.popleft()
              if not name in searched:
                  searched.append(name)
                  if person_is_mango_seller(name):
                      print(name,"is a mango seller!")
                      break 
                  else:
                      search_quede+=graph[name] 
          print(searched)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
    • 相关阅读:
      高德地图根据两点的经纬度计算两点之间的距离(修正版)
      Jsoup | Document | HTML解析器
      移远BG95的AT指令流程汇总
      [python] 基于Dataset库操作数据库
      陪诊系统|陪诊软件开发|陪诊系统搭建功能
      深入探索:npm详解
      强化学习------PPO算法
      行测--常识扩展
      [HDLBits] Dualedge
      基于一个多分类问题比较bert单任务训练和多任务训练
    • 原文地址:https://blog.csdn.net/GENGXINGGUANG/article/details/125608021