面试刷题
文章平均质量分 91
yahuuu
欢迎留言交流。
展开
-
leetcode.300-400
332 行程规划# 建立树,深度优先遍历, 在最深层记录此时的终点.class Solution(object): def findItinerary(self, tickets): from collections import defaultdict dic = defaultdict(list) # 先按照字母倒排序, 主要为了pop(-1)省时间 tickets.sort(key=lambda x: x[1], r.原创 2020-07-11 12:28:06 · 121 阅读 · 0 评论 -
leetcode_Others
面试题 17.17. 多次搜索思路:用例如:# big = "abcd"# smalls = ["a","abc"]字典树结构:trie.root = {"a": Node_0xx} Node.word_idx = 0 # 第1个单词 Node.word_end = True \ {"b": Node_0xx} .原创 2020-07-10 22:08:03 · 147 阅读 · 0 评论 -
leetcode 500-1000
704 二分查找第一遍写的时候忘了写返回, return helper(mid+1, end) 那里一定记得取回返回值class Solution: def search(self, nums, target): #: List[int], target: int) -> int: if not nums: return -1 def helper(start, end): if start > end: return -.原创 2020-07-09 14:18:42 · 120 阅读 · 0 评论 -
leetcode.100-200
162class Solution: def findPeakElement(self, nums): self.ls = nums if len(self.ls) == 1: return 0# 单个元素 self.rt = 0 self.isPeak(0, len(self.ls)-1) return self.rt def isPeak(self, start, end): # 找.原创 2020-07-06 17:24:40 · 134 阅读 · 0 评论 -
leetcode shell部分刷题
第十行给定一个文本文件 file.txt,请只打印这个文件中的第十行。awk 'NR==10' file.txt原创 2019-09-20 13:24:15 · 567 阅读 · 0 评论 -
python刷题Leetcode31-60
Permutations思路:回溯法。推荐视频。这里遇到一个坑,递归最深层,每次append一个名字为nums的list结构,但实际是引用了nums,之后nums会被修改。所以重点应该是深拷贝nums。import copyclass Solution(object): rt_ls = [] def permute(self, nums): def per...原创 2019-09-16 12:09:30 · 130 阅读 · 0 评论 -
刷题之问答部分
算法海量日志数据,提取出某日访问百度次数最多的那个IP实现方案是散列+分治法。IP地址是4个字节,8位,2**32=4G个ip地址,如果直接读数据到内存中会溢出,分成1024份就是4M(Py实现方法是用.read(4*1024), 数据计数用字典(散列)来实现hash(“ip”)%1024 这样可以分成1024份,分别写到1024个文件中,不同字符串的hash值有可能相同,不同的hash...原创 2019-08-23 15:49:11 · 118 阅读 · 0 评论 -
汉明距离 和 海量数据去重
数字的汉明距离,代码来自 def hammingDistance(self, x, y): """ :type x: int :type y: int :rtype: int """ return bin(x ^ y).count('1')字符串的汉明距离def sim(hash1, ...原创 2019-08-15 15:57:15 · 303 阅读 · 0 评论 -
python刷题Leetcode1-30
第一题,两数==target对时间复杂度有要求O(n),所以维护一个字典,遍历过的数值放在字典中,直接遍历时候查找字典中有没有出现差,查找字典时间复杂度是O(1),所以O(n)*O(1) = O(n),满足要求。nums = [0, 1, 2, 7, 11, 15]target = 9def chek(nums, target): dict1 = {} for i, ...原创 2019-07-31 10:09:22 · 913 阅读 · 1 评论 -
python单例模式练习
简单复习单例的思想。单例模式重写.__new__内建方法class Earth(object): __instance=None #定义一个类属性做判断 def __new__(cls): if cls.__instance==None: #父类的__new__(cls)创建实例 cls.__inst...原创 2019-04-28 22:48:56 · 236 阅读 · 0 评论 -
LT.852二分法查找指定数字,绝对值最小的数
二分法查找指定数字:非递归版def BinarySearch(nums,target): left,right=0,len(nums)-1 #注意这里一定要是"<=" while(left<=right): middle=left+(right-left)//2 if nums[middle]==target: ...原创 2019-04-23 22:25:13 · 840 阅读 · 0 评论