摘要:
1. 使用python定义链表结构 from util.Empty import Empty from util.Outbound import Outbound class Node(): def __init__ (self, value = None, next = None): self.v 阅读全文
摘要:
1. 二分迭代程序(找到的位置可能不是第一次出现的位置) def bi_search_iter(alist, item): left, right = 0, len(alist) - 1 while left <= right: mid = (left + right) // 2 if alist[ 阅读全文
摘要:
1. 子集(leetcode 第78题) # 在原子集的基础上添加元素,扩充到result里面 Slicing的方式 def subsets(nums): result = [[]] for num in nums: for element in result[:]: # slicing 相当于ma 阅读全文
摘要:
1. 用递归要明确两大条件 (1)base情况:找出最重要的Base条件,即递归结束的条件 (2)数学归纳法:找出f(n)与f(n-1)或者f(n-2)等的关系。 2. 例子 (1) 累加 从1+2+3+……+n def mysum_recursive(n): if n == 0: # base情况 阅读全文
摘要:
1. 冒泡排序 思想:每次都是相邻元素进行比较,当后面的元素小于前面元素时,就进行交换位置 。 时间复杂度:O(N^2) 空间复杂度:O(1) 稳定性:稳定 def bubble_sort_mod(array): for i in range(len(array)): is_sorted = Tru 阅读全文
摘要:
1. 搜索 (1)顺序搜索 def search(num_list, val): if num_list == None: return -1 for i in range(0, len(num_list)): if (num_list[i] == val): return i return -1 阅读全文
摘要:
file = ['[1,2,3],[4,5,6],[7,8,9]'] data = file[0] number = [] alist = [] count = 0 i = 0 char = ['[', ',', ']'] while i < len(data): if data[i] in cha 阅读全文
摘要:
1. Boolean representation word_dict = ['我们', '又', '去', '爬山', '今天', '你们', '昨天', '跑步'] def booleanRepresent(user_input): count = {} for word in word_dic 阅读全文
摘要:
本文转载自: https://zhuanlan.zhihu.com/p/58163299 最近我在学习自然语言处理,相信大家都知道NLP的第一步就是学分词,但分词≠自然语言处理。现如今分词工具及如何使用网上一大堆。我想和大家分享的是结巴分词核心内容,一起探究分词的本质。 (1)、基于前缀词典实现高效 阅读全文
摘要:
# 先定义个词典 word_dict = ['我们', '经常', '有','有意见','意见','分歧'] # 滑动窗口的大小 max_len = 5 # 用户的输入 user_input = '我们经常有意见分歧' len(user_input) 结果: 9 前向最大匹配算法的实现 # 前向最大 阅读全文