自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode.11 盛最多水的容器

11. 盛最多水的容器难度中等1823给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。示例:输入...

2020-09-13 09:03:40 331

原创 leetcode.216 组合总和

216. 组合总和 III难度中等160找出所有相加之和为n的k个数的组合。组合中只允许含有 1 -9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。 解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]使用dfs#include <iostream>#include...

2020-09-11 08:32:18 350

原创 leetcode.39 组合总和

39. 组合总和难度中等853给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。 解集不能包含重复的组合。示例1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]示例2:输入:ca...

2020-09-09 07:54:10 390

原创 leetcode.77 组合

77. 组合难度中等344收藏分享切换为英文关注反馈给定两个整数n和k,返回 1 ...n中所有可能的k个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]使用深搜 dfs#include <iostream>#include <vector>using namespace std;vector<vecto...

2020-09-08 09:04:52 243

原创 leetcode.347 前 K 个高频元素

347. 前 K 个高频元素难度中等449收藏分享切换为英文关注反馈给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(nlogn) ,n是数组的大小。 题目数据...

2020-09-07 08:30:21 141

原创 leetcode.841 钥匙和房间

841. 钥匙和房间难度中等128收藏分享切换为英文关注反馈有N个房间,开始时你位于0号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间i都有一个钥匙列表rooms[i],每个钥匙rooms[i][j]由[0,1,...,N-1]中的一个整数表示,其中N = rooms.length。 钥匙rooms[i][j] = v可以打开编号为v的房间。最初,除0号房间外的其余所有房间都被锁...

2020-08-31 16:51:38 233

原创 leetcode.27 移除元素

27. 移除元素难度简单634收藏分享切换为英文关注反馈给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新...

2020-08-29 08:47:54 154

原创 leetcode.657 机器人能否返回原点

657. 机器人能否返回原点难度简单138收藏分享切换为英文关注反馈在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移...

2020-08-28 09:03:37 156

原创 leetcode.133 最大矩形面积

Givennnon-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.Above is a histogram where width of each bar is 1, given height =[2,1,5,6,2,3]....

2020-08-27 10:25:14 564

原创 leetcode.17 电话号码的字母组合

17. 电话号码的字母组合难度中等853收藏分享切换为英文关注反馈给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。又是找工作的一天最初想的是循环然后发现循环次数不确定..

2020-08-26 10:56:25 205

原创 leetcode.491 递增子序列

给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是[-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。又是找工作的一天这道题看了解析才会做,主要是两点,深搜+集.

2020-08-25 13:33:29 182

原创 leetcode.739 每日温度

739. 每日温度根据每日气温列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用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 10:09:29 208

原创 leetcode.9 回文数

9. 回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。装换为字符串然后遍历#include <iostream>#.

2020-06-10 09:46:31 142

原创 leetcode.46 把数字翻译成字符串

面试题46. 把数字翻译成字符串难度中等64收藏分享切换为英文关注反馈给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"提示:0 &lt..

2020-06-09 15:14:26 225

原创 leetcode.990 等式方程的可满足性

990. 等式方程的可满足性给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程equations[i]的长度为4,并采用两种不同的形式之一:"a==b"或"a!=b"。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回true,否则返回false。示例 1:输入:["a==b","b!=a"]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程...

2020-06-08 08:46:47 295

原创 leetcode.1 两数之和

1. 两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]这道题就比较简单了直接遍历#include <iostream>#include...

2020-06-07 09:13:36 154

原创 leetcode.128 最长连续序列

128. 最长连续序列给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为O(n)。示例:输入:[100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。题目要求 O(n) 复杂度。用哈希表存储每个端点值对应连续区间的长度 若数已在哈希表中:跳过不做处理 若是新数加入: 取出其左右相邻数已有的连续区间长度 left 和 right 计算当前数的区间长度为:cur_length = l..

2020-06-06 08:42:53 148

原创 leetcode.29 顺时针打印矩阵

面试题29. 顺时针打印矩阵输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix =[[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 100 0 &...

2020-06-05 09:49:50 156

原创 leetcode.238 除自身以外数组的乘积

238. 除自身以外数组的乘积给你一个长度为n的整数数组nums,其中n> 1,返回输出数组output,其中output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明:请不要使用除法,且在O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内...

2020-06-04 09:05:55 161

原创 leetcode.837 新21点

837. 新21点爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:爱丽丝以0分开始,并在她的得分少于K分时抽取数字。 抽取时,她从[1, W]的范围中随机获得一个整数作为分数进行累计,其中W是整数。 每次抽取都是独立的,其结果具有相同的概率。当爱丽丝获得不少于K分时,她就停止抽取数字。 爱丽丝的分数不超过N的概率是多少?示例1:输入:N = 10, K = 1, W = 10输出:1.00000说明:爱丽丝得到一张卡,然后停止。示例...

2020-06-03 08:52:26 185

原创 leetcode.64 骚操作求和

面试题64. 求1+2+…+n求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出:6示例 2:输入: n = 9输出:45限制:1 <= n<= 10000这道题更多的像是个脑筋急转弯不能用求和公式,不能balabala,。。。。。能想到的都不让用那咋整 for用递归实现,这很好理解 ...

2020-06-02 08:40:08 139

原创 leetcode.1431 拥有最多糖果的孩子

1431. 拥有最多糖果的孩子给你一个数组candies和一个整数extraCandies,其中candies[i]代表第i个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有最多的糖果。注意,允许有多个孩子同时拥有最多的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true] ...

2020-06-01 08:24:59 173

原创 leetcode.101 对称二叉树

101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[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 08:50:17 99

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

84. 柱状图中最大的矩形给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为10个单位。示例:输入: [2,1,5,6,2,3]输出: 10这道题可以说是很经典了遇见过很多次类似的,什么刷油漆了,栅栏了巴拉巴拉说一下思路...

2020-05-30 08:53:31 171

原创 leetcode.198 打家劫舍

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

2020-05-30 08:16:21 214

原创 leetcode.394 字符串解码

394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。示例:s = "3[a]2[bc]", 返回 "aaabcbc"....

2020-05-28 09:09:42 184

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

974. 和可被 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 <= 30000 ...

2020-05-27 08:46:23 251

原创 leetcode.287 寻找重复数

287. 寻找重复数给定一个包含n+ 1 个整数的数组nums,其数字都在 1 到n之间(包括 1 和n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。 只能使用额外的O(1) 的空间。 时间复杂度小于O(n2) 。 数组中只有一个重复的数字,但它可能不止重复出现一次。看到这个,...

2020-05-26 08:14:13 198

原创 leetcode.146 LRU缓存机制

146. LRU缓存机制运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据get和 写入数据put。获取数据get(key)- 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据put(key, value)- 如果密钥已经存在,则变更其数据值;如果密钥不存在,则插入该组「密钥/数据值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。...

2020-05-25 16:33:08 100

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

4. 寻找两个正序数组的中位数给定两个大小为 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]则中位数是 (2 + 3)/2 = 2.5首先想到的算法是...

2020-05-24 08:51:56 144

原创 leetcode.76 最小覆盖子串

76. 最小覆盖子串给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串""。 如果 S 中存在这样的子串,我们保证它是唯一的答案1. 注意到题目的关键:"所有字母的最小子串",也就是说两个串都只能是字母。2. 于是,可以开辟一个大小为64的数组,来存放数组中字母的频率(Frequency)。准确.

2020-05-23 15:41:31 128

原创 leetcode.105 从前序与中序遍历序列构造二叉树

105. 从前序与中序遍历序列构造二叉树难度中等根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7其实思路还是比较清楚的preorder第一个元素为root,在inorder里面找到root,在它之前的为左子树(长l1).

2020-05-22 11:00:16 96

原创 leetcode.5 最长回文子串

5. 最长回文子串难度中等2171收藏分享切换为英文关注反馈给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"看到题目,首先想到的是两层循环遍历所有子串这样复杂度是n方肯定超时了换个思路因为是回文串,两边对称,想想可以从中间往两边走文体两开花,嘿嘿嘿这样是不断扩增的,如果搜到...

2020-05-21 11:09:57 102

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

1371. 每个元音包含偶数次的最长子字符串难度中等191收藏分享切换为英文关注反馈给你一个字符串s,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisg...

2020-05-20 22:56:28 300

原创 网络那些事儿

今天来给大家聊一聊计算机网络。说起计算机网络,那一帮程序员肯定要头疼了,什么这协议,那链路的,感觉这计算机网络就是一团乱麻。非也,说计算机网络是一团乱麻其实是你没脑子里一团乱麻,也怪现在的教科书写的都和工具书一样,能把简单的事情给你往复杂里说,然后学的人就蒙了。今天就来梳理梳理这计算机网络究竟是个啥?先说网络吧,我们天天上,没有网感觉日子都过不下去。去个地方先不找厕所,先找wifi...

2020-01-07 19:42:52 480

原创 分治算法

前言我们常常会遇到一些规模很大的问题,大到无从下手,不知道怎么解决。这时候怎么办,将大问题划分为小问题,小问题还不会解怎么办,那就再分,直到问题小到你会解为止。这种思想就是分治。分治学习分治,就是三个字,“分”,“治”,“合”。分(divide):将规模为n的原问题分拆为k个小问题,每个小问题的规模都严格小于n;治(conquer):如果小问题的规模大于事先设定的阈值n0,则接...

2019-05-22 21:16:40 876

原创 几何算法详解与例题分析

前言画乃我思所欲,非我见所得。几何算法常常出现在计算机图形学,大规模集成电路设计等方面,常常需要分析平面内点、线段、直线的关系,而其算法呢大多用到了归纳,分治等算法的思想。几何算法举例1.判断点是否在多边形内部判断p是否在多边形内部?从p连一条到多边形外部的点的直线看与所有多边形的边相交几次若为奇数则在内部如何找外部的点?找一个点x值比多边形的所有点x...

2019-04-18 22:18:18 1149

原创 图论-单源最短路径算法(拓扑,Dijkstra,Floyd,SPFA)

前言单源最短路径是学习图论算法的入门级台阶,但刚开始看的时候就蒙了,什么有环没环,有负权没负权,下面就来总结一下求单源最短路径的所有算法以及其适用的情况。单源最短路径设定图中一个点为源点,求其他所有点到源点的最短路径。先声明一点:有负环的图中没有最短路径因为负环绕一圈的权值和是负的,只要过一遍环,路径就减小,可以反复过,无限减小1. 无环 无负权 图求单源最短路径--...

2019-04-05 10:31:33 862 1

原创 归纳算法及例题分析

前言算法中有很多会用到归纳的思想,如递归等算法的基础都是归纳。今天来看看归纳的主要思想以及基于归纳的一些算法设计。归纳证明当n= 1时命题成立。证明如果在n= k时命题成立,那么可以推导出在n= k+1时命题也成立。(m代表任意自然数)这种方法的原理在于:首先证明在某个起点值时命题成立,然后证明从一个值到下一个值的过程有效。当这两点都已经证明,那么任意值都可以通过反复使用这个...

2019-03-31 21:21:57 2364

原创 数学归纳法及例题分析

前言学算法,不得不提的就是数学归纳法。许多算法都会用到归纳假设的思想,其追溯回去便是数学归纳法。数学归纳法最简单和常见的数学归纳法是证明当n等于任意一个自然数时某命题成立。证明分下面两步:证明当n= 1时命题成立。 证明如果在n= k时命题成立,那么可以推导出在n= k+1时命题也成立。(k代表任意自然数)这种方法的原理在于:首先证明在某个起点值时命题成立,然后证明从一个...

2019-03-27 15:57:42 26759 2

计算机体系结构 量化研究方法

计算机体系结构中文版,计算机体系结构 量化研究方法

2019-04-21

空空如也

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

TA关注的人

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