07 2022 档案

摘要: 阅读全文
posted @ 2022-07-31 13:18 今夜无风 阅读(11) 评论(0) 推荐(0) 编辑
摘要:问题:给定一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 回溯dfs class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: res = [] self.back_track 阅读全文
posted @ 2022-07-31 13:16 今夜无风 阅读(17) 评论(0) 推荐(0) 编辑
摘要:问题理解: 一共有 n 门课要上,编号为 0 ~ n-1。 先决条件[1, 0],意思是必须先上课 0,才能上课 1。 给你 n 、和一个先决条件表,请你判断能否完成所有课程。 bfs方法模板 def find_order(n=4): courses = [[1, 0], [2, 0], [3, 1 阅读全文
posted @ 2022-07-29 14:31 今夜无风 阅读(41) 评论(0) 推荐(0) 编辑
摘要:BitMap算法的核心思想是用bit数组来记录0-1两种状态,然后再将具体数据映射到这个比特数组的具体位置,这个比特位设置成0表示数据不存在,设置成1表示数据存在。 BitMap算在在大量数据查询、去重等应用场景中使用的比较多,这个算法具有比较高的空间利用率。 class Bitmap(): def 阅读全文
posted @ 2022-07-26 23:29 今夜无风 阅读(398) 评论(0) 推荐(0) 编辑
摘要:主体代码模板: from collections import deque # 使用双端队列deque,Queue更为复杂不可用 def bfs(): queue = deque([root]) # 队列数据结构实现 visited = set(root) # 标记访问节点 while queue: 阅读全文
posted @ 2022-07-26 09:53 今夜无风 阅读(60) 评论(0) 推荐(0) 编辑
摘要:单调栈专题,可以按照这个列表来刷。 [LeetCode-42] 接雨水 [LeetCode-239] 滑动窗口最大值 [LeetCode-496] 下一个更大元素 I [LeetCode-503] 下一个更大元素 II [LeetCode-739] 每日温度 [LeetCode-901] 股票价格跨 阅读全文
posted @ 2022-07-23 18:07 今夜无风 阅读(17) 评论(0) 推荐(0) 编辑
摘要:双指针的两种方法 方法一:时间复杂度logN,空间复杂度1 nums = [1,2,0,5,7,0] low = 0 # 指向非零部分的最后一个位置 fast = 0 # 遍历列表元素 n = len(nums) while fast < n: # 走一遍,原始空间上已经存有非零数字 if nums 阅读全文
posted @ 2022-07-23 15:49 今夜无风 阅读(115) 评论(0) 推荐(0) 编辑
摘要:由九章算法-令狐提出 data = [1,3,6,8,8,12,88,943] # 第一个等于target的索引位置 def binarySearch(nums,target): if not nums: return -1 start, end = 0, len(nums)-1 while sta 阅读全文
posted @ 2022-07-21 09:36 今夜无风 阅读(85) 评论(0) 推荐(0) 编辑
摘要:tf2.0 调试通过代码 #! -*- coding:utf-8 -*- # 文本分类例子下的模型压缩 # 方法为BERT-of-Theseus # 论文:https://arxiv.org/abs/2002.02925 # 博客:https://kexue.fm/archives/7575 imp 阅读全文
posted @ 2022-07-20 17:52 今夜无风 阅读(392) 评论(0) 推荐(0) 编辑
摘要:需求:从hive下拉数据,要合并多个数据(每组数据类别不同),如果要在构造数据集最终阶段随机打乱,可以使用pyspark的orderBy随机打乱 from pyspark.sql.functions import rand sql = "select * from abc.table1 limit 阅读全文
posted @ 2022-07-20 14:36 今夜无风 阅读(1004) 评论(0) 推荐(0) 编辑
摘要:平均时间复杂度: nlogn 最为常用的排序算法 def quick_sort(data, start, end): # 快排原地排序,直接对原list排序,没有返回值 if start>=end: return # 开始结束索引不能破坏 left, right = start, end mid = 阅读全文
posted @ 2022-07-20 09:44 今夜无风 阅读(32) 评论(0) 推荐(0) 编辑
摘要:先分再治 def merge_sort(data): if len(data)==1: return data mid = len(data) // 2 print(mid) left, right = data[:mid], data[mid:] return merge(merge_sort(l 阅读全文
posted @ 2022-07-18 22:42 今夜无风 阅读(16) 评论(0) 推荐(0) 编辑