01 2021 档案

摘要:维护一个大小为k的大根堆 class Solution: def heapfy(self,arr,i,length): left = 2*i+1 right = 2*i+2 if left<length and arr[left]>arr[i]: large = left else: large = 阅读全文
posted @ 2021-01-29 23:01 WangSJiNa 阅读(39) 评论(0) 推荐(0)
摘要:使用队列 from threading import Thread from queue import Queue import random import time def produce(q): i = 0 while i<10: num = random.randint(1,10) q.put 阅读全文
posted @ 2021-01-27 17:15 WangSJiNa 阅读(55) 评论(0) 推荐(0)
摘要:回溯的方法 class Solution: def permutation(self, s: str) -> List[str]: ans = set() def backtrace(path,tmp): if path=="": ans.add(tmp) return for i in range 阅读全文
posted @ 2021-01-19 16:21 WangSJiNa 阅读(38) 评论(0) 推荐(0)
摘要:class Solution: def longestConsecutive(self, nums: List[int]) -> int: cur_len = 0 nums = set(nums) ans = 0 for item in nums: if item-1 not in nums: cu 阅读全文
posted @ 2021-01-19 13:32 WangSJiNa 阅读(56) 评论(0) 推荐(0)
摘要:方法1: class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: if not strs: return "" ans = strs[0] i = 1 while i < len(strs): while strs 阅读全文
posted @ 2021-01-09 11:49 WangSJiNa 阅读(56) 评论(0) 推荐(0)
摘要:1.第一范式(确保每列保持原子性) 必须不包含重复组的关系,即每一列都是不可拆分的原子项。 2.第二范式(确保表中的每列都和主键相关) 关系模式必须满足第一范式,并且所有非主属性都完全依赖于主码。注意,符合第二范式的关系模型可能还存在数据冗余、更新异常等问题。 3.第三范式(确保每列都和主键列直接相 阅读全文
posted @ 2021-01-08 12:31 WangSJiNa 阅读(162) 评论(0) 推荐(0)
摘要:什么是数据库事务? 数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。意思就是一连串的数据库操作,即一串增删查改的集合。 ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果 阅读全文
posted @ 2021-01-08 12:22 WangSJiNa 阅读(105) 评论(0) 推荐(0)
摘要:一个栈负责append,一个栈负责push。push之前如果stack2为空,stack1不为空,就把stack1都pop到stack2。 class CQueue: def __init__(self): self.stack1 = [] self.stack2 = [] def appendTa 阅读全文
posted @ 2021-01-08 12:13 WangSJiNa 阅读(48) 评论(0) 推荐(0)
摘要:和先序遍历类似,但入栈顺序是先push左节点,再push右节点,最后将结果倒置 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # s 阅读全文
posted @ 2021-01-08 11:48 WangSJiNa 阅读(37) 评论(0) 推荐(0)
摘要:使用栈来实现,注意进栈顺序要先push右节点,再push左节点。 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val 阅读全文
posted @ 2021-01-08 11:40 WangSJiNa 阅读(51) 评论(0) 推荐(0)
摘要:思路:双指针 class Solution: def exchange(self, nums: List[int]) -> List[int]: left,right = 0,len(nums)-1 while left<right: while left<right and nums[left]% 阅读全文
posted @ 2021-01-08 11:20 WangSJiNa 阅读(68) 评论(0) 推荐(0)
摘要:借用字典来减少时间复杂度 class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: d = {} for i in range(len(nums)): find = target - nums[i] if 阅读全文
posted @ 2021-01-08 10:49 WangSJiNa 阅读(51) 评论(0) 推荐(0)
摘要:使用 for...else def func(): ans = [] i = 2 while i <= 100: for item in list(range(2, i)): if i % item == 0: i += 1 break else: ans.append(i) i += 1 retu 阅读全文
posted @ 2021-01-06 14:00 WangSJiNa 阅读(181) 评论(0) 推荐(0)
摘要:非递归: # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # 阅读全文
posted @ 2021-01-05 18:44 WangSJiNa 阅读(81) 评论(0) 推荐(0)
摘要:第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn 阅读全文
posted @ 2021-01-05 11:36 WangSJiNa 阅读(68) 评论(0) 推荐(0)
摘要:shell:找出一个根目录下出现,文件包含abcd的内容。 法一:grep 'abcd' -r 目录路径 法二:find 目录路径 | xargs grep 'abcd' sql:有表A和表B,都有id和name字段,找出两个表name相同的id。 select * from A inner joi 阅读全文
posted @ 2021-01-05 10:17 WangSJiNa 阅读(139) 评论(0) 推荐(0)
摘要:GET 和 POST 的区别: get是从服务器上读取“一个资源,比如get一个html文件。 post是向服务器提交数据。比如提交一个表单。 GET参数通过URL传递,POST放在Request body中。 GET不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 GET请求在URL 阅读全文
posted @ 2021-01-04 22:52 WangSJiNa 阅读(81) 评论(0) 推荐(0)
摘要:测试开发的核心有2点: 通过技术手段提高产品质量 通过技术手段帮助开发提高效率 (1)测试用例设计及自动化,CI, (自动化测试框架, unit test, mock, 集成测试 工具等等) (2)一些比较常见的, 比如性能测试, 健壮性测试,安全测试,协议测试, (也要涉及这类工具的开发) (3) 阅读全文
posted @ 2021-01-04 22:46 WangSJiNa 阅读(332) 评论(0) 推荐(0)
摘要:TCP 面向连接 可靠,通过重传机制、拥塞控制、流量控制保证数据的正确性 面向字节流,会发生粘包现象 可以传输很大的文件,用来下载高清电影 速度相对慢,每次传输需要建立连接更占用系统资源 UDP 无连接 不可靠,会发生丢包、只是尽最大能力交付 可以一对多,一对一、多对多通信 面向报文,保留了报文的边 阅读全文
posted @ 2021-01-04 22:41 WangSJiNa 阅读(83) 评论(0) 推荐(0)
摘要:cookie保存在浏览器端,session保存在服务器端,但是为了区分不同的客户端,服务器会在浏览器中发送一个对应的sessionid保存到cookies中,下次浏览器请求服务器的时候会将sessionid一并发送给服务器。所以session机制依赖于cookie机制。 1、cookie数据存放在客 阅读全文
posted @ 2021-01-04 22:37 WangSJiNa 阅读(101) 评论(0) 推荐(0)
摘要:http是超文本传输协议,信息是明文传输,https由ssl+http协议构建的可进行加密传输 http工作在应用层,https工作在传输层 http运行在80端口,https运行在443端口 https需要申请ca证书,需要一定的费用 https更安全,应用在登录页,支付页面,购物网站和网银系统、 阅读全文
posted @ 2021-01-04 22:36 WangSJiNa 阅读(93) 评论(0) 推荐(0)
摘要:选择排序: 选择排序的基本思想是:如果有N个元素需要排序,那么首先从N个元素中找到最小的那个元素与第0位置上的元素交换(说明一点,如果没有比原本在第0位置上的元素小的就不用交换了,后面的同样是),然后再从剩下的N-1个元素中找到最小的元素与第1位置上的元素交换,之后再从剩下的N-2个元素中找到最小的 阅读全文
posted @ 2021-01-03 15:32 WangSJiNa 阅读(80) 评论(0) 推荐(0)
摘要:设定一个空指针和一个头指针,当头指针不为空时,执行: 1、暂存后继指针 2、修改后继指针 3、存储当前节点 4、访问下一节点 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self. 阅读全文
posted @ 2021-01-03 11:51 WangSJiNa 阅读(84) 评论(0) 推荐(0)
摘要:# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def reversePrint(sel 阅读全文
posted @ 2021-01-01 17:56 WangSJiNa 阅读(69) 评论(0) 推荐(0)
摘要:class Solution: def replaceSpace(self, s: str) -> str: return s.replace(" ", "%20") 阅读全文
posted @ 2021-01-01 17:42 WangSJiNa 阅读(43) 评论(0) 推荐(0)
摘要:class Solution: def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool: if not matrix: return False m, n = len(matrix),len(matrix 阅读全文
posted @ 2021-01-01 17:28 WangSJiNa 阅读(75) 评论(0) 推荐(0)
摘要:两个for循环搞定 def func(): for i in range(1,10): s='' for j in range(1,i+1): tmp = j*i s+=str(j)+"x"+str(i)+"="+str(tmp)+" " print(s) if __name__ == '__mai 阅读全文
posted @ 2021-01-01 16:44 WangSJiNa 阅读(68) 评论(0) 推荐(0)