- 博客(18)
- 收藏
- 关注
原创 dup, dup2, 重定向恢复
做Shell lab的时候要求完成重定向以及恢复,这里记录一下相关知识#include <unistd.h>int dup(int oldfd);dup用来复制参数oldfd所指的文件描述符。当复制成功是,返回最小的尚未被使用过的文件描述符,若有错误则返回-1.错误代码存入errno中返回的新文件描述符和参数oldfd指向同一个文件,这两个描述符共享同一个数据结构,共享所有的锁定,读写指针和各项全现或标志位。 #include <unistd.h> int dup2(
2021-04-30 00:35:14
929
原创 Trie 前缀树 Python实现
题目描述字典树又称为前缀树或者Trie树,是处理字符串常用的数据结构。假设组成所有单词的字符仅是‘a’~‘z’,请实现字典树的结构,并包含以下四个主要的功能。void insert(String word):添加word,可重复添加;void delete(String word):删除word,如果word添加过多次,仅删除一次;boolean search(String word):查询word是否在字典树中出现过(完整的出现过,前缀式不算);int prefixNumber(String pre):
2021-01-31 13:05:09
435
原创 寻找两个有序数组中的第K个数
方法一:双指针两个指针各指在两个数组的开头,谁小移谁,移动k次就能找到。时间复杂度为O(k)方法二:分治法解释在代码中def FindKthElm(a, b, k): if len(a) == 0: return b[k-1] if len(b) == 0: return a[k-1] a_mid = len(a) // 2 b_mid = len(b) // 2 half_len = a_mid + b_mid +
2021-01-30 13:43:27
512
原创 Python 实现简易版哈希表 Hashtable
class Hashtable: def __init__(self, size = 10, load_factor = 0.75): self.max_size = size # 表的大小 self.loadfactor = load_factor #加载因子 self.size = 0 # 当前大小 self.table = [None] * self.max_size def hashFunction(s
2021-01-29 13:49:23
335
原创 LRU 双向链表+哈希表 python
通过双向链表和哈希表的结合实现LRUclass Node: def __init__(self, key = 0, value=0): self.key = key self.value = value self.next = None self.pre = None class Solution: def __init__(self, max_size = 0): self.dumm
2021-01-24 11:11:56
248
原创 对青蛙跳台阶的个人理解
预备知识斐波那契数列斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)通俗来讲当n>=2,该元素为前两位的数字之和,依次往后问题:一只青蛙要跳上n层高的台阶,一次能跳一阶,也可以跳2阶,请问这只青蛙跳上n层高的台阶有多少种跳法?基本思路设青蛙跳上n级台阶有f(n
2020-05-20 12:59:43
386
2
原创 python, 交换列表中的两个值遇到的坑
python中交换两个值有种很方便的用法,如下a, b = b, a对于两侧都只有2或3个值的时候,它是通过栈stack来操作的>>> import dis>>> def foo(a, b):... a, b = b, a... >>> dis.dis(foo) 2 0 LOAD_FAST ...
2020-05-07 14:55:10
1015
4
原创 Leetcode Insert Intervals
Ex.2: Insert IntervalsGiven a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to the...
2020-05-06 00:53:04
166
原创 Leetcode Merge Intervals 合并区间
Ex.1: Merge IntervalsGiven a collection of intervals, merge all overlapping intervals.Solution:分三种情况讨论两不相交,这个情况选择跳过。比如[1,2],[3,4]相交,通过前一个的end和后一个的start比较,符合条件则合并。如,[1,3],[2,4] -> [1,4]包含,先判...
2020-05-06 00:47:24
195
原创 Leetcode 矩阵搜索
Ex.11: 矩阵搜索在一个N*M的矩阵里,每一行都是排好序的,每一列也都是排好序的,请设计一个算法在矩阵中查找一个数。Solution:题目的条件是每行每列都是升序的,那么可以利用这一点。那么有没有办法可以让程序自己去寻找一个路径?也就是说对于路径走到任何一个数,如果给定条件的话,只有一个方向走矩阵中,位置有2,3,4三种可能的方向个数,比如四个角的地方有2个方向可以走,除去外圈的所有...
2020-05-06 00:43:19
391
原创 Leetcode sqrt 平方根
sqrt(x)Implement int sqrt(int x).Compute and return the square root of x.x is guaranteed to be a non-negative integer.'''Solution: 二分法,判断要求:mid²和x的关系'''def sqrt(x): if x <= 0: r...
2020-05-06 00:41:37
158
原创 python,对列表中某特定位置进行排序
一维情况比如要对alist = [3,1,2,4,5]排序,sort和sorted的用法为alist = [3,1,2,4,5]new_list = sorted(alist)alist.sort()print(new_list)print(alist)结果为[1, 2, 3, 4, 5][1, 2, 3, 4, 5]sort作为列表的方法使用,写成list.sort()s...
2020-05-05 13:04:05
5535
原创 windows上传本地文件到云服务器
步骤一:百在本地电脑上,快捷键“WIN+R"打开“运行”中输入“mstsc”,点击确定步骤二:在“远程桌面连接”框点击“显示选项”展开步骤三:在展开的“远程桌面连接”窗口,点击“本地资源”计算机中输入云服务器的IP地址步骤四:点击“详细信息”步骤五:勾选要上传云服务器的文件所在的本地磁盘,点击确定步骤六:输入用户度名和密码后连接上云服务器,打开“我的电脑”,就可以看到勾...
2020-04-09 11:42:53
1628
原创 viterbi分词总结
import xlrdimport numpy as npfile_path = '综合类中文词库.xlsx'# file_path = file_path.decode('utf-8')data = xlrd.open_workbook(file_path)table = data.sheet_by_name('Sheet1')dic_words = table.col_valu...
2020-03-25 18:52:53
316
原创 python中list删除操作导致的循环出错
先上问题a = [1,2,3,4,5]for i in a: a.remove(i)print(a)[2,4]上述代码按原意应该是删除所有元素,但是结果确实留下了两个元素原因:因为删除元素后,整个列表的元素会往前移动,而i却是在最初就已经确定了,是不断增大的,所以并不能得到想要的结果。比如删除1的时候,i=0,此时把1删除,然后 i=1,但是此时的a=[2,3,4,5],...
2020-03-24 20:30:31
238
原创 Django中,python manage.py startapp发生ImportError: DLL load failed: 找不到指定的模块。
一开始直接使用pycharm新键Django项目如果选择了第一个选项,那么接下来startapp的时候就会发生ImportError: DLL load failed: 找不到指定的模块而使用existing interpreter则不会...
2020-03-02 17:49:57
637
原创 django.urls中的path,include和re_path
函数 path() 具有四个参数,两个必须参数:route 和 view,两个可选参数:kwargs 和 name。即路由和视图是必填参数。1、path()参数:route route 是一个匹配URL的准则(类似正则表达式)。当Django响应一个请求时,它会从urlpatterns的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。 这些准则不会匹配GET和POST参数...
2020-03-02 00:37:11
1861
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人