自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode436. 寻找右区间

题目来源:力扣题目给你一个区间数组 intervals ,其中intervals[i] = [starti, endi] ,且每个starti 都 不同 。区间 i 的 右侧区间 可以记作区间 j ,并满足 startj>= endi ,且 startj 最小化 。返回一个由每个区间 i 的 右侧区间 在intervals 中对应下标组成的数组。如果某个区间 i 不存在对应的 右侧区间 ,则下标 i 处的值设为 -1 。示例 1:输入:interva...

2022-05-22 11:49:34 141

原创 leetcode14最长公共前缀

题目来源:题目题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。思路思路一(横向比较) 求得两个字符串的公共前缀,由于它们所有的公共前缀也是...

2020-08-01 15:42:48 143

原创 leetcode7.整数反转

题目:题目题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路本题可以分解保存每一位的数字,再把每一位的数字按照它的位数...

2020-08-01 14:17:47 141

原创 leetcode20.有效的括号

题目来源:题目题目给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]"输出:...

2020-08-01 09:50:37 99

原创 leetcode739. 每日温度

题目来源:题目题目根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]。每个气温的值的均为华氏度,都是在[30, 100]范围内的整数。思路思路一...

2020-06-11 17:07:24 95

原创 leetcode2两数相加

题目来源:题目题目给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807...

2020-06-11 15:45:38 138

原创 leecode1.两数之和

题目来源:题目题目给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路思路一(暴力算法)循环遍历两次数组,分别在数组中找每个...

2020-06-11 15:14:19 118

原创 leetcode101. 对称二叉树

题目来源:题目题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[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进阶:你可以运用递归和迭代两种方法解决这个问题吗?思路思路一(...

2020-05-31 23:33:48 125

原创 leetcode84. 柱状图中最大的矩形

题目来源:题目题目给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为10个单位。示例:输入: [2,1,5,6,2,3]输出: 10思路思路一(遍历+中心扩展)我们可以遍历每个柱形,向左右两个方向遍历...

2020-05-30 11:45:35 107

原创 leetcode198. 打家劫舍

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

2020-05-30 09:36:29 88

原创 leetcode974. 和可被 K 整除的子数组

题目来源:题目题目给定一个整数数组 A,返回其中元素之和可被 K整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]提示:1 <= A.length <=...

2020-05-27 09:44:59 245

原创 leetcode4. 寻找两个正序数组的中位数

题目来源:题目参考题解:题解题目给定两个大小为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数...

2020-05-25 01:38:57 100

原创 leetcode5. 最长回文子串

题目来源:题目题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路思路一(暴力解法) 找到所有的字串,利用头尾指针的方式判断每个字串是否为回文串。使用头尾指针判断字串是否为回文串的时间复杂度为O(n).找每个字串的时间复杂度为O(n^2).所以总的时间复杂...

2020-05-22 00:06:26 114

原创 leetcode1371. 每个元音包含偶数次的最长子字符串

题目来源:题目题目给你一个字符串s,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisgreat"输出:5解释:最长子字符串是 "lee...

2020-05-20 12:01:03 418

原创 leetcode680. 验证回文字符串 Ⅱ

题目来源:题目题目给定一个非空字符串s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。思路思路一(暴力算法)判断一个字符串是不是回文串,可以使用头尾两个指针来判断。 首先判断原字符串是否为回文串,然后分别判断删除每一个位置之后的...

2020-05-19 13:37:21 136

原创 广度优先搜索(bfs)

概念 与树的遍历类似,我们希望从图的某一顶点出发访遍图中其余节点,并且使每一个顶点仅被访问一次。这个过程就叫做图的遍历。 由于图的连接可能存在环路,沿着边依次访问的过程可能会使得某个顶点被访问多次,所以可以使用辅助数组visited[0…n-1]记录某个顶点是否已经被访问。它的初始值可以是false,如果某个顶点i被访问过了,就将visited[i]置为true. 广度优先遍历类似于树的层次遍历,假设从图中的某个顶点v出发,在访问了v之后依次访问v的各个未曾被...

2020-05-17 17:54:07 265

原创 深度优先搜索(dfs)

概念 与树的遍历类似,我们希望从图的某一顶点出发访遍图中其余节点,并且使每一个顶点仅被访问一次。这个过程就叫做图的遍历。 由于图的连接可能存在环路,沿着边依次访问的过程可能会使得某个顶点被访问多次,所以可以使用辅助数组visited[0…n-1]记录某个顶点是否已经被访问。它的初始值可以是false,如果某个顶点i被访问过了,就将visited[i]置为true. 深度优先遍历类似于先根遍历,从某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发继续...

2020-05-17 17:18:05 266

原创 leetcode25.K个一组翻转链表

题目来源:题目题目给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->2->1->4->5...

2020-05-16 15:51:20 80

原创 leetcode560.和为K的子数组

题目来源:题目题目给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数k的范围是[-1e7, 1e7]。思路思路一(枚举)计算每个以下标j结尾的子数组和,判断该子数组的和是否为k。下标...

2020-05-15 09:59:53 184

原创 leetcode255.最小栈

题目来源:题目题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[]...

2020-05-15 00:38:17 155

原创 leetcode236.二叉树的最近公共祖先

题目来源:题目题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p =...

2020-05-10 11:15:21 79

原创 leetcode69.x的平方根

题目来源:题目题目实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。思路(二分查找) X的平方根一定在[0,x]的区间里,所以要找到x的平方根只需在该区间里查...

2020-05-09 14:22:56 87

原创 leetcode221.最大正方形

题目来源:题目题目在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路思路一(暴力搜索)遍历整个二维数组,如果遇到字符为‘1’的元素,计算以它为正方形左上角元素的最大正方形面积。首先要知道以该元...

2020-05-08 11:45:35 120

原创 leetcode572.另一颗树的子树

题目来源:题目题目给定两个非空二叉树 s 和 t,检验s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \1 2给定的树 t: 4 / \1 2...

2020-05-07 17:51:48 64

原创 leetcode983.最低票价

链接:题目题目在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为days的数组给出。每一项是一个从1到365的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为costs[0] 美元;一张为期七天的通行证售价为costs[1] 美元;一张为期三十天的通行证售价为costs[2] 美...

2020-05-06 18:54:29 83

原创 银行家算法

银行家算法是操作系统中死锁避免著名的算法,利用该算法可以动态的给进程分配资源,并保证系统的安全运行。什么是死锁 操作系统中,两个或两个以上的进程无限期的等待永远不会发生的条件的系统状态。结果是导致每个进程都无限期阻塞。 另一种说法是,有两个或以上的线程持有独占性资源,并且申请其他进程占有的资源,此时每个进程都有一部分资源,但又不够,从而每个进程都无法向前推进,陷...

2020-05-04 12:34:22 231

原创 跳跃游戏2

题目(本题是立扣上的一道题目)给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步...

2020-05-04 11:14:51 100

原创 Windows环境下使用CreateThread函数创建两个线程并发运行

题目 Windows环境下使用CreateThread函数创建两个线程A和线程B.线程A在屏幕上用循环顺序递增的输出1-1000的自然数。线程B在屏幕上用循环顺序递减的输出1000-1的自然数。为避免输出太快,每隔1秒输出一个数。思路 先创建两个线程函数A和B,分别用for循环输出每个自然是,每输出一个自然数,让该线程挂起1秒。Windows环境下可以用Crea...

2020-05-03 23:16:57 6504 4

原创 在liunx中使用pthread_create创建不同功能线程

题目 在Ubuntu环境使用pthread_create函数创建两个线程A和B.线程A在屏幕上用while循环顺序递增的输出1-1000的自然数,线程B在屏幕上用while循环顺序递减的输出1000-1自然然数,为避免输出太快,没隔1s输出一个树。思路 Linux中可以用pthead.h库中的pthread_create函数创建不同功能的线程(区别与fork()...

2020-05-03 17:05:51 1279

原创 Linux信号通信使用kill()和signal()以及wait()

任务 一个进程(父进程)等待另一个死循环的进程(子进程)先结束并向自己BYEBYE后,自己再结束。思路 父进程主动发送一个信号给子进程,子进程收到信号后开始准备结束。子进程中设置信号处理函数,提前结束自己,并向父进程“BYEBYE”.流程图代码#include"stdio.h"#include"unistd.h"#includ...

2020-05-02 22:54:31 1685

原创 使用CreateProcess函数自动执行文本文件所列程序

题目 使用CreateProcess函数可以创建进程,在文本文件中列出可执行的文件的名称,编写程序,自动运行文本文件中所列全部程序。在D盘创建readme.txt文件,输入以下内容:calc.exenotepad.exemspaint.exe代码#include"stdio.h"#include"windows.h"#include"string.h"...

2020-05-01 17:34:57 369

原创 linux常用命令

文件的基本属性 Linux是一个多用户的系统,不同的用户具有不同的权限。为了保护系统的安全性,不同的用户对相同的文件或文件夹有不同的访问权限。 文件的访问权限有哪些? 答:3个。R可读,W可写,X可执行。 怎么查看文件的属性? 答:使用命令ls –l. 怎么解释输入ls –l后输出的信息。如图...

2020-04-29 12:06:07 80

原创 dos常用命令

操作系统的用户界面是操作系统提供给用户控制计算机的接口。分为操作界面和系统调用两大类。操作界面又可分为图形界面和键盘输入的命令。Windows操作系统打开dos命令界面的方式为搜索框输入cmd。打开命令提示符程序。所有命令“Help”输出所有的命令名和简介。“Help 命令名“ 输出改命令的详细介绍。文件管理1.copy 将一份或多份文件复制到另一个位置多个文件要用...

2020-04-29 09:14:12 119

原创 B树和B+树

一个好用的在线画数据结构和算法图的网址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.htmlB树的性质一个m阶的b树有如下的性质(m阶意味该树的某个节点最多有m个孩子)1.根节点至少有两个孩子。2.中间节点至少有ceil(m/2)个孩子,最多有m个孩子。3.叶子节点有k-1个元素。其中m/2<=k...

2020-03-27 12:52:52 160

原创 红黑树的插入与删除

红黑树的结构红黑树是类平衡的二叉查找树1.红黑树的节点是有两种颜色的。红色和黑色。2.红黑树的根节点是黑色。3.红黑树的红色节点的左右子节点都为黑色4.从任一节点到叶子节点的所有路径都包含相同数目的黑色节点。根据红黑树的这4条特点保证了从根节点到叶子节点的最长路径不多于最短路径的两倍。即红黑树大致上是平衡的。最短路径都是黑色。最长路径是红黑交替。红黑树和AVL树比较...

2020-03-22 10:39:26 169

原创 AVL树的介绍

AVL树的特点Avl树是二叉平衡查找树,所谓平衡二叉树,即该二叉树中所有节点的左子树和右子树的高度差小于等于1。树的高度就是从树的根节点到叶子节点最长的路径。所谓二叉查找树,即该二叉树的每个节点,该节点的右子树所有节点都大于等于该节点,该节点的左子树的所有节点都小于该节点。AVL树的插入对于一个给定的AVL树,按照每个节点的大小插入一个节点后,可能会破坏AVL树的结构。这时需要对二叉树...

2020-03-18 18:37:47 1240

原创 二叉树的递归和非递归遍历算法

二叉树的结构class TreeNode{ public int data; public TreeNode left; public TreeNode right; public TreeNode(int n){ data = n; left = null; right = null; ...

2020-03-13 23:29:46 60

原创 各种排序算法实现及其比较

各种常用排序算法比较 类别 排序方法 时间复杂度 空间复杂度 ...

2020-03-12 15:28:43 87

原创 Spring缓存

对服务层方法进行缓存新建maven项目,添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2020-02-27 13:46:49 114

原创 Spring表达式语言

通过SpEL完成系统属性注入新建maven项目<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId>...

2020-02-27 11:53:46 127

空空如也

空空如也

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

TA关注的人

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