随笔分类 - 算法 ---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
阅读全文
摘要:# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def mergeTwoLists(se
阅读全文
摘要:class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__(self, value): # 初始化,默认初始化节点时,必须给定节点要储存的值(Value)。 s
阅读全文
摘要:def compare(a: str, b: str): '''比较两个版本的大小,需要按.分割后比较各个部分的大小''' lena = len(a.split('.')) # 获取版本字符串的组成部分 lenb = len(b.split('.')) a2 = a + '.0' * (lenb-l
阅读全文
摘要:def merge(a, b): """ 合并2个有序数组,默认a,b都是从小到大的有序数组 """ # 1.临时变量 i, j = 0, 0 # 分别标记2个数组的起始位置 na, nb = len(a), len(b) # 分别标记2个数组的长度 temp = [] # 临时存放空间 # 2.只
阅读全文
摘要:#两个字符串,s1 包含 s2,包含多次,返回每一个匹配到的索引 def findSubIndex(str1,subStr): str_len = len(str1) sub_len = len(subStr) index_list = [] for i in range(str_len): for
阅读全文
摘要:将一个矩阵(二维数组)按对角线向右进行打印。(搜了一下发现好像是美团某次面试要求半小时手撕的题)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
阅读全文
摘要: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 #
阅读全文
摘要:class Solution: #顺序查找 def seq_search(self,list,num): for i in(range(len(list))): if list[i] == num: return i return -1 #二分查找 #每次能够排除掉一半的数据,查找的效率非常高,但是
阅读全文
摘要:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. class solution: def getChar(self,s): setS = set(s) dict = {
阅读全文
摘要:一只青蛙一次可以跳上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
阅读全文
摘要:冒泡排序: 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 重复步骤1~3,直到排序完成。 #冒泡排序 def bubble_sort(list):
阅读全文

浙公网安备 33010602011771号