- 博客(56)
- 收藏
- 关注
原创 10.正则表达式匹配
LeetCode可以分为以下情况class Solution {public: bool isMatch(string s, string p) { int s_lenth=s.size(), p_lenth=p.size(); vector<vector<int>> dp(s_lenth+1, vector<int>(p_lenth+1)); dp[0][0]=1; if(p_lenth) dp[
2020-06-29 08:30:40
185
原创 TCP状态解读
握手状态客户端初始状态CLOSED发送SYN报文后处于SYN_SENT接收到服务器的ACK后处于ESTABLISHED服务器初始状态CLOSED接收SYN报文后处于SYN_RECD接收客户端的ACK后处于ESTABLISHED挥手状态客户端初始为ESTABLISHED状态发送FIN报文后处于FIN_WAIT1接收服务器ACK后处于FIN_WAIT2接收到服务器FIN报文后处于TIME_WAIT发出ACK后处于CLOSED服务器初始为ESTABLISHED状态
2020-06-25 12:42:59
257
原创 TCP三次握手和四次挥手的详解
此解释参考TCP-IP详解卷1:协议三次握手我们先来看看TCP连接到底是什么样的,首先要建立本地和某个主机的联系,可以在unix系统输入如下命令talnet bsdi discard然后看看TCP报文输出这7个TCP报文仅包含首部,不含任何数据,他们的格式统一,都是源 发送端>接收端:标志标志中第一个字母或字符的含义如下:标志位置1或者数据段不为空时,才显示该字段信息在第一行中,S表示该报文为SYN比特位置1,1415531521:1415531521(0)表示分组序号为141
2020-06-25 09:16:06
226
原创 62.不同路径
#include<vector>using namespace std;// class Solution { //深度遍历法// public:// int uniquePaths(int m, int n) {// vector<vector<int>> r(m, vector<int>(n,1));// r[m-1][n-1]=-1;// dfs(r, 0, 0);//
2020-06-17 09:20:33
183
原创 309
每日leetcode(37)309class Solution {public: int maxProfit(vector<int>& prices) { int n=prices.size(); if(n<=1) return 0; int dp[n][3]; dp[0][0]=0;...
2020-04-15 00:36:16
137
原创 找到重复的数字(龟兔赛跑算法)
假设有一个数组,数组里有n+1个数,每个数范围是1-n,且只有一个重复数字,找到这个重复数字并返回如:[1,2,3,2,4]有5个数,每个数范围为1-4现在的任务是找到2这个数字普通方法1:可以先排序,遍历一次,然后对比两个元素是否相同#pythonnums.sort()for num in nums: if num==num return num//c++#inclu...
2020-02-29 15:33:19
742
原创 OSG无法显示中文,解决
要显示文字,首先前提是你已经编译osg时编译了freetype插件如果没有将显示不了中午,需要重新编译freetype插件,那么如何编译freetype插件呢,osg340+vs2017编译的插件链接在文末如果你是用cmake自己编译的osg,那么在camke里设置一些参数这里我用的时我自己编译的freetype,如果使用官方3rdParty包里的则是这样自己对应相应的include和...
2020-02-20 06:47:17
1969
原创 vs的qt项目无法打开源文件ui_xxx.h文件
按照如下配置新建一个项目后,一路默认确定然后会得到类似这样的项目这时候右键.ui文件,找到编译编译完成后,在项目目录\x64\Debug\uic里有一个ui_xxx.h文件,然后添加到头文件目录就行这时候再编译生成...
2020-01-26 21:20:25
13302
9
原创 vim基础操作
插入a后面插入i前面插入o下一行插入O上一行插入删除单个单词 -------dw de多个单词 -------d?w删除行 -------dd删除到行末 -------d$删除到行首 -------d^normal模式下删除单个字符 -------x删除并进入insert模式 -------c+位置符指定到位置单词 -------2w行首-------o ^行...
2020-01-10 13:16:16
154
原创 最短路径
前几天涉及到dijkstra最短路径算法,今天总结一下假设有n个顶点,每条边用一个矩阵表示,比如起始点为1,目的点为3,则表示为d[1][3]伪代码: 初始化所有边d[i][j] 设d[i][i]=0,其他d[i][j]=INF;//INF是一个很大的值,用来替代正无穷 循环n次 { 在所有未标号结点中,选出d值最小的结点next,值为MIN; ...
2019-12-22 16:26:19
130
原创 16. 最接近的三数之和
每日leetcode(35)16. 最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = ...
2019-12-12 21:51:05
143
原创 5279. 整数的各位积和之差
每日leetcode(35)5279. 整数的各位积和之差给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例 1:输入:n = 234输出:15解释:各位数之积 = 2 * 3 * 4 = 24各位数之和 = 2 + 3 + 4 = 9结果 = 24 - 9 = 15示例 2:输入:n = 4421输出:21解释:各位数之积 = 4 ...
2019-12-08 22:13:53
328
原创 15. 三数之和
每日leetcode(34)15. 三数之和给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, ...
2019-12-08 22:10:49
199
原创 11. 盛最多水的容器
每日leetcode(33)11. 盛最多水的容器给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为图中垂直线代表输入数组 [1,8,6,2,5,4,8,3...
2019-10-25 22:41:20
120
原创 anaconda命令conda install无法安装
今天遇到个很诡异的事,用anaconda安装库的时候,显示solving enviroment:failed百思不得其解,但是我同时在cmd上运行了ipconfig的命令时,cmd提示我不是内部命令,我去搜了一下,发现是我的环境变量不知不觉的改变了,我原来的C:\Windows\System32路径被移除了,于是我在环境变量里添加上就好了。这个事情提醒了我,也许anaconda的环境变量也...
2019-10-24 00:01:47
4464
原创 excel表格数据带有换行符
这个一定要做个记录,最近要处理一个excel表格数据,需要获取每个单元格的值,但是获取的值居然带有换行符,导致我纠结了很久,现在使用一下方法可以去除value.replace('\n','')...
2019-10-19 23:24:55
709
原创 python反射(自省)
类前几天用owlready构建rdf文件时,使用类定义实体,属性和数据属性,类名就是一个object,所有创建实例都需要实例类,但是现在数据有很多,我需要让他们自动创建类的实例,他们的类型为字符串,我需要把他们转为该字符串对应的类名,这里提供了一个方法eval()例如方法1name='NameType'#字符串class_name=eval(name)#字符串名转为对应的类#实例...
2019-10-19 23:22:17
195
原创 6. Z 字形变换
每日leetcode(32)Z字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实...
2019-10-16 00:53:21
279
原创 5. 最长回文子串
每日leetcode(31)5. 最长回文子串题目如下:没说时间复杂度,那先试试暴力算法,因为暴力也好写,但事实是还是过不了测试案例,还是贴下代码,反正就几行,如下:class Solution: def longestPalindrome(self, s: str) -> str: if len(s)==1: return s ...
2019-09-14 21:44:07
119
原创 4. 寻找两个有序数组的中位数
每日leetcode(31)4. 寻找两个有序数组的中位数今天的题目如下:这道题想了我很久,一开始的思路是归并排序,但是这个算法最好也是O(nlogn),所以这种想法不符合要求。最后看了官方的解释才看明白,下面根据我理解到的再解释一次:原理:求一个平均数,就是把一个有序数组平均分成两等分,如果是奇数,中位数就是中间那个,如果是偶数,那中位数就是中间两数平均值。那么,对于两个数组的求中位...
2019-09-13 12:26:31
431
原创 717. 1比特与2比特字符
每日leetcode(30)1比特与2比特字符,题目如下:有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入:bits = [1, 0, 0]输出: True解释:唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个...
2019-08-21 22:38:04
332
原创 c++读取文件夹文件名
今天用到读取文件夹里的jpg文件名,然后去招了一下c++的,下面是代码,我真想吐槽一下鳌,python就一句listdir的问题,c++居然要这么复杂。还有要注意在64位系统下,句柄hFile 要用_int64,不然会报错,其他位系统用long。//读取文件名void GetAllFiles(string path, vector<string>& files){ _...
2019-08-01 23:59:21
825
原创 542. 01 矩阵
每日leetcode(29)01 矩阵,今天的题目如下给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0示例 2:输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1我的想法是这样的,对每个元素进行上...
2019-08-01 00:14:44
330
原创 2. 两数相加
每日leetcode(28)两数相加,题目如下:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 ...
2019-07-31 01:03:09
141
原创 3. 无重复字符的最长子串
每日leetcode(27)无重复字符的最长子串,题目如下:‘’’给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pww...
2019-07-30 23:09:53
117
原创 108. 将有序数组转换为二叉搜索树
每日leetcode(26)今天的题目是有序数组转平衡二叉树二叉搜索树的特点就是节点的左儿子所有点的值都小于该节点,其右儿子所有点的值都大于该节点。既然数组是有序的,先取数组的中间节点为根,然后把数组分为左右两个字数组,依次递归就可以了下面代码是评论区的,我对平衡二叉树的构建有点模糊了class Solution: def sortedArrayToBST(self, nums)...
2019-07-29 23:50:42
88
原创 107. 二叉树的层次遍历 II
每日leetcode(25)今天的题目是层次遍历,只不过反转过来而已class Solution: def levelOrderBottom(self, root: TreeNode) -> List[List[int]]: if not root: return [] #s1用于存放上一层的值,s2存放下一层的值,s4存...
2019-07-29 22:54:27
88
原创 104. 二叉树的最大深度
每日leetcode(24)二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。这道题递归到最后叶节点,为空则返回0Definition for a b...
2019-07-19 16:38:40
115
原创 101. 对称二叉树
每日leetcode(23)对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3这道题我想不到输入两个node来递归,在这里学习了,看了评论区的代码才...
2019-07-16 01:00:08
75
原创 100. 相同的树
每日leetcode(22)相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ ...
2019-07-16 00:31:02
93
原创 88. 合并两个有序数组
每日leetcode(21)合并两个有序数组给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3...
2019-07-14 23:17:56
94
原创 83. 删除排序链表中的重复元素
每日leetcode(21)删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3这个简单,就直接放代码吧,就两两对比# Definition for singly-linke...
2019-07-14 22:53:20
96
原创 70. 爬楼梯
每日leetcode(20)爬楼梯,题目如下假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。3. 1 阶 + 1 ...
2019-07-14 21:42:45
88
原创 69. x 的平方根
每日leetcode(19)x 的平方根,题目就是求一个平方根实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。解决的方法是使用...
2019-07-14 21:15:02
105
原创 67. 二进制求和
每日leetcode(18)二进制求和,题目如下给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”这个我选择用最简单的方法,自己转换的方法我在这里不说了class Soluti...
2019-07-04 20:13:03
104
原创 66. 加一
每日leetcode(17)加一,题目如下给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解...
2019-07-04 19:38:00
111
原创 58.最后一个单词的长度
每日leetcode(16)最近在弄小程序,所以刷题这事耽搁了好长一段时间,现在做的差不多了,之后应该会写一个教程,今天继续写题目今天的题目如下题目不难,直接用split(),但是要注意一个坑加入只有一个字符加空格,如’a ',这种情况split()会有两个元素,一个是a,一个是空格,所以为了防止这种情况,先用strip()去掉首尾的空格,如下class Solution: def...
2019-06-15 22:44:50
93
原创 mongo的cursor类型转json
之前做mongodb的查询并以json数据格式返回,会遇到_id关键字无法转换,然后上网看了很多资料有一些方法,比如用库或者手动去掉啥的,今天说一个简便的方法,就是查询的时候,不返回_id的值就好了,比如db.collection.find({'地区':'福建省','科类':'文科'},{'_id':0})这里指定了_id为0,则不会返回,然后再json.dumps(list(cursor...
2019-06-13 20:12:15
2313
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人