随笔分类 -  算法 ---python版

摘要:def isIp(ip_str): flag = True if '.' not in ip_str: return False if ip_str.count('.')!=3 : return False splitList = ip_str.split('.') for value in spl 阅读全文
posted @ 2020-03-15 00:41 图图图图胡图图 阅读(411) 评论(1) 推荐(1)
摘要:# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def mergeTwoLists(se 阅读全文
posted @ 2020-03-13 00:27 图图图图胡图图 阅读(200) 评论(0) 推荐(0)
摘要:class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__(self, value): # 初始化,默认初始化节点时,必须给定节点要储存的值(Value)。 s 阅读全文
posted @ 2020-03-13 00:05 图图图图胡图图 阅读(315) 评论(0) 推荐(0)
摘要:def compare(a: str, b: str): '''比较两个版本的大小,需要按.分割后比较各个部分的大小''' lena = len(a.split('.')) # 获取版本字符串的组成部分 lenb = len(b.split('.')) a2 = a + '.0' * (lenb-l 阅读全文
posted @ 2020-03-12 23:42 图图图图胡图图 阅读(356) 评论(0) 推荐(0)
摘要:def merge(a, b): """ 合并2个有序数组,默认a,b都是从小到大的有序数组 """ # 1.临时变量 i, j = 0, 0 # 分别标记2个数组的起始位置 na, nb = len(a), len(b) # 分别标记2个数组的长度 temp = [] # 临时存放空间 # 2.只 阅读全文
posted @ 2020-03-11 22:55 图图图图胡图图 阅读(970) 评论(0) 推荐(0)
摘要:#两个字符串,s1 包含 s2,包含多次,返回每一个匹配到的索引 def findSubIndex(str1,subStr): str_len = len(str1) sub_len = len(subStr) index_list = [] for i in range(str_len): for 阅读全文
posted @ 2020-03-11 22:18 图图图图胡图图 阅读(551) 评论(0) 推荐(0)
摘要:将一个矩阵(二维数组)按对角线向右进行打印。(搜了一下发现好像是美团某次面试要求半小时手撕的题)Example:Input:[[1,2,3,4],[5,1,2,3],[9,5,1,2]]Output:[[4],[3, 3],[2, 2, 2],[1, 1, 1],[5, 5],[9]] class 阅读全文
posted @ 2020-03-11 09:39 图图图图胡图图 阅读(926) 评论(0) 推荐(0)
摘要:class Solution(): #求最多的数 def find_max(self,list): num = 0 for i in list: print(i) if list.count(i) > num: num = list.count(i) value = i return value # 阅读全文
posted @ 2020-03-10 22:22 图图图图胡图图 阅读(1486) 评论(0) 推荐(0)
摘要:class Solution: #顺序查找 def seq_search(self,list,num): for i in(range(len(list))): if list[i] == num: return i return -1 #二分查找 #每次能够排除掉一半的数据,查找的效率非常高,但是 阅读全文
posted @ 2020-03-09 21:59 图图图图胡图图 阅读(402) 评论(0) 推荐(0)
摘要:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. class solution: def getChar(self,s): setS = set(s) dict = { 阅读全文
posted @ 2020-03-09 00:14 图图图图胡图图 阅读(642) 评论(0) 推荐(0)
摘要:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法 class Solution: def jump(self,n): if n ==0: return 0 elif n==1: return 1 elif n ==1: return 2 numN = 0 fi 阅读全文
posted @ 2020-03-08 23:34 图图图图胡图图 阅读(558) 评论(0) 推荐(0)
摘要:冒泡排序: 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 重复步骤1~3,直到排序完成。 #冒泡排序 def bubble_sort(list): 阅读全文
posted @ 2020-03-08 19:17 图图图图胡图图 阅读(217) 评论(0) 推荐(0)