自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

转载 linux有哪些文件格式

linux文件格式

2022-07-15 21:19:12 3660 1

转载 Docker是怎么实现资源隔离的

docker资源隔离

2022-07-15 20:40:11 1793

原创 leetcode 1188设计有限阻塞队列,很经典的一道多线程题

leetcode经典题

2022-07-11 11:48:39 239

转载 一致性哈希算法原理详解(转载)

一致性哈希

2022-07-05 21:08:40 402

原创 leetcode专题训练——递归

1、344. 反转字符串解法1:双指针解法2:递归2、24. 两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。解答:第2个节点作为新的头节点,第1个节点指向第3个节点,再递归交换第3、4个节点3、95. 不同的二叉搜索树 II给定一个整数n,生成所有由 1 ...n为节点所组成的二叉搜索树。解答:依次将1-n中每一个数当做根节点,当i为根节点时,1到i...

2021-03-13 22:06:38 187 1

原创 leetcode专题训练——二分搜索

1、35. 搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。2、74. 搜索二维矩阵编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。解答:从后往前,搜到目标值所在的行3、278. 第一个错误的版本你是产品经理,目前正在带领一个团队开发...

2021-03-12 21:15:49 135

转载 进程间的通信方式

转载自:http://www.cyc2018.xyz/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%20-%20%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86.html#_1-%E7%AE%A1%E9%

2021-03-11 17:16:11 66

转载 STL的详细介绍

转载自:https://blog.csdn.net/u010183728/article/details/81913729

2021-03-11 15:38:38 51

转载 最通俗易懂的并查集解释(转载)

原文链接:https://blog.csdn.net/weixin_38279101/article/details/112546053

2021-03-11 15:30:16 83

原创 leetcode专题训练——栈和队列

1、155. 最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。解答:两个栈,一个维护最小值2、150. 逆波兰表达式求值根据 逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。解答:栈的经典应用...

2021-03-11 15:28:29 90

原创 leetcode专题训练——回溯

1、78. 子集给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。2、90. 子集 II给定一个可能包含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。解答:和上题一样,多了个判断:if(i>start&&nums[i]==nums[i-1])continue;i>start的意思是...

2021-03-11 09:02:41 108

转载 常见面试题——死锁

转载自https://blog.csdn.net/hd12370/article/details/82814348什么是死锁?所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 因此我们举个例子来描述,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁。如下图所示:产生死锁的原因?可归结为如下两点:a. 竞争资源系统中的资源可以分为两类:可剥夺资

2021-03-10 16:16:00 259

转载 常见面试题——进程常用调度算法

转载自https://www.cnblogs.com/szitcast/p/10927375.html00. 目录目录00. 目录 01. 进程调度算法概述 02. 先来先服务调度算法 03. 时间片轮转调度法 04. 短作业(SJF)优先调度算法 05. 最短剩余时间优先 06. 高响应比优先调度算法 07. 优先级调度算法 08. 多级反馈队列调度算法01. 进程调度算法概述调度算法是指:根据系统的资源分配策略所规定的资源分配算法02. 先来先服务调度算..

2021-03-10 11:45:59 813

原创 leetcode专题训练——滑动窗口

1、76. 最小覆盖子串给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。解答:滑动窗口就是用一左一右两个指针来做。右指针移动,一旦满足条件,则判断当前长度是不是最短的,然后不断移动左指针。如果移动到不满足条件了,继续移动右指针,直到再次满足条件。字符不要求顺序的话,可以用map来做。2、567. 字符串的排列给定两个.

2021-03-09 21:55:57 127

原创 leetcode专题训练——动态规划

1、120. 三角形最小路径和解:从下往上,最后一层不用看。每个节点存的是从下往上到达该点的最小路径2、64. 最小路径和给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。解:给矩阵增加一圈,这样就不用判断边界了。3、62. 不同路径一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为...

2021-03-09 08:50:39 291

转载 面试常见题:一个网页打开的全过程

本文转载于:https://blog.csdn.net/qq_22313585/article/details/789261411、概要  从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程。下面我将依靠自己的经验,总结一下整个过程。如有错漏,欢迎指正。  阅读本文需要读者已有一定的计算机知识,了解TCP、DNS等。2、分析  众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会

2021-03-08 11:26:07 1048

原创 leetcode专题训练——链表题目汇总

83. 删除排序链表中的重复元素两层循环,里面那层负责删除重复元素82. 删除排序链表中的重复元素 II创建一条新的链表,把原链表中没有重复的节点串起来注意:新链表最后一定要指向空节点206. 反转链表递归,当递归到最后一个元素时,开始翻转。...

2021-03-06 17:55:29 151

原创 leetcode专题训练——二叉树题目汇总

1、给定一个二叉树,找出其最大深度。(104题)递归,求左右子树的最大值。2、给定一个二叉树,判断它是否是高度平衡的二叉树。(110题)在上一题的基础上加了个判断,如果左右子树差超过1,全局变量变为0.3、给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。(102题)队列。关键:每一层记录当前队列的长度。4、给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)(107题)..

2021-03-05 12:19:21 282 1

原创 100天每日一题(day15)

a

2021-02-25 10:35:45 69

原创 100天每日一题(day14)

给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) ,n是数组的大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。你可以按任意顺序返回答案...

2020-09-07 19:43:59 221 1

原创 100天每日一题(day13)

解答:还是用递归(DFS),设置depth记录层数(DFS,基本上都有两个参数,一个root,另一个存储或者记录)#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneclassSolution:d...

2020-09-06 18:43:56 75

原创 100天每日一题(day13)

解答:转眼就入秋了,天凉的真快,感觉夏天还没过多久就要到冬天了,和树相关的题基本就是DFS,主要是思考DFS的输入是什么,在哪里返回#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneclassSolutio...

2020-09-06 17:40:05 85

原创 100天每日一题(day12)

题解:大名鼎鼎的N皇后问题,一直拖着没做,结果在每日一题里发现了。不会做,看了题解:用到了著名的回溯法(看了别人的解释,回溯就是穷举法剪枝,还是一个深度优先搜索算法)先安排第一个皇后,再安排第二个皇后。。遇到没位置安排的皇后,就返回上一步,把上一个皇后换个位置用DFS来做:classSolution:defsolveNQueens(self,n:int)->List[List[str]]:ans=list()r...

2020-09-03 21:05:10 146

原创 100天每日一题(day11)

题解:感觉是一道靠测试工程师的题,编写测试用例。。没时间想,就用了评论里一个简单的方法判断异常:classSolution:defisNumber(self,s:str)->bool:try:answer=float(s)returnTrueexcept:returnFalse...

2020-09-03 20:29:59 60

原创 100天每日一题(day10)

2020.9.3 晴不知不觉就9月份了,转眼2020年就只剩下4个月了。。题解:感觉又是一道经典的动态规划题。三板斧:第一板斧:先创建一个二维数组dp[i][j] ,dp[i][j]代表从数组nums[i:j]先手,赢过对方的分数。终止条件:dp[i][j]=nums[i](i=j),因为只有一个数,先拿就领先这个数的分数二板斧:状态转移方程:dp[i][j]=max(nums[i]-dp[i+1][j],nums[j]-dp[i][j-1])。意思是从右端拿就减去在nums..

2020-09-03 20:21:04 81

原创 100天每日一题(day9)

给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例1:输入: "aacecaaa"输出: "aaacecaaa"示例 2:输入: "abcd"输出: "dcbabcd"解答:今天周六,天气晴(大事件:ig打fpx)又是考验智商的一题,不会做,看了评论才理解重点就是:判断逆序的末端和正序的前端重叠的部分,然后在逆序上加上重叠之后的部分(比较绕,但画个图可以看出来)classSolution:...

2020-08-29 16:42:15 71

原创 100天每日一题(day8)

题解:这题主要就是防止超时,所以用递归,还不能用普通的递归。每次递归只调用一遍myPow函数classSolution:defmyPow(self,x:float,n:int)->float:ifn==0:return1ifn==1:returnxifn<0:return1/self....

2020-08-27 23:47:27 117

原创 100日每日一题(day 7)

459.重复的子串给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。解答:枚举法。这里用到了python自带的all函数(判断是否有0元素)classSolution:defrepeatedSubstringPattern(self,s:str)->bool:l=...

2020-08-24 17:48:28 101

原创 100天每日一题(day6)

20.有效的括号给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。解答:字典存储括号,字典的key是左括号,value是右括号,用于判断。然后用一个栈不断匹配括号,一旦不匹配就返回失败classSolution:defisValid(self,s:str)->bool:...

2020-08-14 20:15:00 85

原创 2020-08-10

100天LeetCode每日一题(day4)696.计数二进制子串给定一个字符串s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数解题思路:temp存前面的数,cur存后面的数classSolution:defcountBinarySubstrings(self,s:str)->int:cur=1tem...

2020-08-10 22:01:31 83

原创 100天LeetCode每日一题(day4)

好简单。。不知道在考啥classSolution:defkidsWithCandies(self,candies:List[int],extraCandies:int)->List[bool]:n=len(candies)List=[Trueforiinrange(n)]m=max(candies)foriinrange(n):if...

2020-06-01 23:31:59 225

原创 100天leetcode每日两题(day3)

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[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每日一题(easy难度)递归就行:classSolution:defisSymmetric(self,root:TreeN...

2020-05-31 13:48:58 166

原创 100天leetcode每日两题(day2)

84. 柱状图中最大的矩形(每日一题,hard难度)大概思路就是要求的面积肯定在能完全包含第k个柱子的矩形面积中选,这里有6个柱子就需要求6次,例如:柱子越矮,覆盖面积越宽越窄,柱子越高,覆盖面积越高越细,所以柱子高度适中最好:class Solution: def largestRectangleArea(self, heights: List[int]) -> int: stack = [-1] max_res = 0 ...

2020-05-30 16:52:14 160

原创 100天leetcode每日两题(day1)

第198题(打家劫舍)你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 ...

2020-05-29 10:47:11 203

原创 30天编程练习(十四)

1056  叠木板题意:你能把一摞卡片放在桌子上有多远?如果你有一张卡,你可以创建一个最大长度的半卡长度。(我们假设卡片必须垂直于桌子。)有两张卡片,你可以使顶端卡片一张卡片长度的一半悬挂,底部卡片以卡片长度的三分之一悬于桌子上,1/2×1/3=5/6卡片长度悬垂。一般来说,你可以让N张卡超过1/2 + 1/3 + 1/4 +…+ 1 /(N+ 1)卡长度,其中顶部卡悬垂第二个1/2,第二个卡伸出...

2018-05-11 14:24:56 650

原创 30天编程练习(十二)

1048 凯撒密码 题意:输入二十六个字母,输出时,A-E向后移动21位,F-Z向前移动五位。解析:使用数组存储字符,判断条件,向前或向后转换。#include &lt;iostream&gt;  #include &lt;string&gt;  using namespace std;  int main()  {      string s1,s2;      while(cin&gt;&gt...

2018-05-03 23:11:35 221

原创 30天编程练习(十一)

1044 迷宫问题题意:你,冒险家,在一个危险的地牢里。你被告知地牢要倒塌了。你必须在规定的时间内找到出口楼梯。但是,你不想空手离开地牢。地牢里有很多稀有的珠宝。在你离开之前试着收集一些。有些珠宝便宜,有些贵。所以你会尽最大努力最大化你的收藏,更重要的是,及时离开地牢。解析:BFS构建一个珠宝和珠宝以及珠宝和出入口之间的网络。#include &lt;cstdio&gt;  #include &l...

2018-04-26 13:42:53 116

原创 30天编程练习(十)

1040 排序题意:给你一些整数,你的任务是对这些数字进行排序。解析:快速排序#include&lt;stdio.h&gt;  #include&lt;stdlib.h&gt;  #include&lt;iostream&gt;  #include&lt;cmath&gt;  #include&lt;iomanip&gt;      using namespace std;        void...

2018-04-23 17:39:54 101

原创 30天编程练习(九)

1036  接力赛题意:给出每个选手每跑一圈的用时,计算出选手跑1km所需要的时间解析:总路程除以总时间就是速度,再计算出1km用时即可#include&lt;stdio.h&gt;#include&lt;iostream&gt;using namespace std;int main(){ int n,sumtime,num; double d; char h,m1,m2,s1,s2; scan...

2018-04-22 18:53:27 109

原创 30天编程练习(八)

1032 函数题题意:1。输入n2。打印n3。如果n=1,则停止4。如果n是奇数,则n = 3n + 15。否则n=n/26。跳转到2一个数字完成一次所需次数为一个周期,输入i,j,求i到j区间所有数字上的最大周期长度。解析:根据题意编写循环体即可,要注意的是输入的i不一定小于j。#include&lt;stdio.h&gt;  int main()  {      int i,t,max,m,n...

2018-04-19 20:07:00 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除