自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 403. 青蛙过河

一只青蛙想要过河。 假定河流被等分为x个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。给定石子的位置列表(用单元格序号升序表示),请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。开始时,青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格1跳至单元格2)。如果青蛙上一步跳跃了k个...

2020-02-16 16:29:32 463

原创 402. 移掉K位数字

给定一个以字符串表示的非负整数num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且≥ k。num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = "10200"...

2020-02-16 16:26:38 168

原创 401. 二进制手表

二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。给定一个非负整数 n代表当前 LED 亮着的数量,返回所有可能的时间。案例:输入: n = 1返回: ["1:00", "2:00", "4:00", "8:00", "0:01",...

2020-02-16 16:18:57 184

原创 388. 文件的最长绝对路径

假设我们以下述方式将我们的文件系统抽象成一个字符串:字符串"dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext" 表示:dir subdir1 subdir2 file.ext目录dir 包含一个空的子目录subdir1 和一个包含一个文件file.ext的子目录subdir2 。字符串"dir\n\tsubd...

2020-02-08 22:05:23 168

原创 348. 判定井字棋胜负

请在 n ×n 的棋盘上,实现一个判定井字棋(Tic-Tac-Toe)胜负的神器,判断每一次玩家落子后,是否有胜出的玩家。在这个井字棋游戏中,会有 2 名玩家,他们将轮流在棋盘上放置自己的棋子。在实现这个判定器的过程中,你可以假设以下这些规则一定成立:1. 每一步棋都是在棋盘内的,并且只能被放置在一个空的格子里;2. 一旦游戏中有一名玩家胜出的话,游戏将不...

2020-02-04 10:46:46 1252

原创 341. 扁平化嵌套列表迭代器

给定一个嵌套的整型列表。设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的项或者为一个整数,或者是另一个列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用next 直到hasNext 返回false,next返回的元素的顺序应该是: [1,1,2,1,1]。示例 2:输入: [1,[4,[6]]]输出:...

2020-02-01 15:16:00 154

原创 336. 回文对

给定一组唯一的单词, 找出所有不同的索引对(i, j),使得列表中的两个单词,words[i] + words[j],可拼接成回文串。示例 1:输入: ["abcd","dcba","lls","s","sssll"]输出: [[0,1],[1,0],[3,2],[2,4]]解释: 可拼接成的回文串为 ["dcbaabcd","abcddcba","slls","llssssl...

2020-01-31 14:45:55 214

原创 306. 累加数

累加数是一个字符串,组成它的数字可以形成累加序列。一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给定一个只包含数字'0'-'9'的字符串,编写一个算法来判断给定输入是否是累加数。说明:累加序列里的数不会以 0 开头,所以不会出现1, 2, 03 或者1, 02, 3的情况。示例 1:输入: "11235...

2020-01-28 13:49:29 205

原创 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-01-28 11:43:15 122

原创 164. 最大间距

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元...

2020-01-23 15:03:36 194

原创 剑指offer题目总结

文章目录数据结构数组13. 找出数组中重复的数字14. 不修改数组找出重复的数字15. 二维数组中的查找字符串16. 替换空格链表17. 从尾到头打印链表树18. 重建二叉树19. 二叉树的下一个节点栈和队列20. 用两个栈实现队列算法和数据操作递归和循环21. 斐波那契数列查找和排序22. 旋转数组的最小数字回溯23. 矩阵中的路径24. 机器人的运动范围动态规划和贪心25. 剪绳子位运算26....

2020-01-14 16:36:27 299

原创 40. 组合总和 II

给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例1:输入: candidates =[10,1,2,7,6,1,5], target =8,所求解集为:...

2020-01-13 22:27:13 226

原创 35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来...

2020-01-13 21:21:14 77

原创 18. 四数之和

给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为...

2020-01-13 17:40:54 146

转载 13. 罗马数字转整数

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。1...

2020-01-13 17:13:01 131

转载 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"w...

2020-01-13 09:55:42 104

原创 2. 两数相加

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

2020-01-13 09:42:04 334

原创 1. 两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(...

2020-01-13 09:39:03 109

原创 leetcode题目总结

基础算法前缀和题目名称题目简述5144矩阵区域和-中稍微变化了一下的二维前缀和。注意不要越界1310. 子数组异或查询-中异或前缀和哈希题目名称题目简述不同的循环子字符串-良题目写的不清楚,我还以为要用KMP求循环结。实际上就是比较两端是不是相同。直接字符串哈希。记住13111数据结构树题目名称题目简述祖...

2020-01-12 01:50:49 1052

原创 1306. 跳跃游戏 III

这里有一个非负整数数组arr,你最开始位于该数组的起始下标start处。当你位于下标i处时,你可以跳到i + arr[i] 或者 i - arr[i]。请你判断自己是否能够跳到对应元素值为 0 的 任意 下标处。注意,不管是什么情况下,你都无法跳到数组之外。示例 1:输入:arr = [4,2,3,0,3,1,2], start = 5输出:true解释:到...

2020-01-12 01:46:46 110

原创 1307. 口算难题

给你一个方程,左边用words表示,右边用result 表示。你需要根据以下规则检查方程是否可解:每个字符都会被解码成一位数字(0 - 9)。每对不同的字符必须映射到不同的数字。每个 words[i] 和 result都会被解码成一个没有前导零的数字。左侧数字之和(words)等于右侧数字(result)。如果方程可解,返回True,否则返回False。示例...

2020-01-12 01:44:15 389

原创 1309. 解码字母到整数映射

给你一个字符串s,它由数字('0' - '9')和'#'组成。我们希望按下述规则将s映射为一些小写英文字符:字符('a' - 'i')分别用('1' -'9')表示。字符('j' - 'z')分别用('10#'-'26#')表示。返回映射之后形成的新字符串。题目数据保证映射始终唯一。示例 1:输入:s = "10#11#12"输出:"jkab"解释:...

2020-01-12 01:39:09 127

原创 1310. 子数组异或查询

有一个正整数数组arr,现给你一个对应的查询数组queries,其中queries[i] = [Li,Ri]。对于每个查询i,请你计算从Li到Ri的XOR值(即arr[Li] xor arr[Li+1] xor ... xor arr[Ri])作为本次查询的结果。并返回一个包含给定查询queries所有结果的数组。示例 1:输入:arr = [1,...

2020-01-12 01:37:23 176

原创 leetcode1311. 获取你好友已观看的视频

有n 个人,每个人都有一个0到n-1的唯一id。给你数组 watchedVideos和friends,其中watchedVideos[i]和friends[i]分别表示id = i的人观看过的视频列表和他的好友列表。Level1的视频包含所有你好友观看过的视频,level2的视频包含所有你好友的好友观看过的视频,以此类推。一般的,Level 为...

2020-01-12 01:34:43 209

原创 leetcode1312. 让字符串成为回文串的最少插入次数

给你一个字符串s,每一次操作你都可以在字符串的任意位置插入任意字符。请你返回让s成为回文串的最少操作次数。「回文串」是正读和反读都相同的字符串。示例 1:输入:s = "zzazz"输出:0解释:字符串 "zzazz" 已经是回文串了,所以不需要做任何插入操作。示例 2:输入:s = "mbadm"输出:2解释:字符串可变为 "mbdadbm" 或者...

2020-01-12 01:32:59 297

原创 leetcode5143. 解压缩编码列表

给你一个以行程长度编码压缩的整数列表nums。考虑每相邻两个元素 [a, b] = [nums[2*i], nums[2*i+1]](其中i >= 0),每一对都表示解压后有 a个值为b的元素。请你返回解压后的列表。示例:输入:nums = [1,2,3,4]输出:[2,4,4,4]提示:2 <= nums.length <= ...

2020-01-12 01:25:01 203

原创 leetcode5144. 矩阵区域和

给你一个m * n的矩阵mat和一个整数K ,请你返回一个矩阵answer,其中每个answer[i][j]是所有满足下述条件的元素mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c)在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,...

2020-01-12 01:23:38 140

原创 leetcode5145. 祖父节点值为偶数的节点和

给你一棵二叉树,请你返回满足以下条件的所有节点的值之和:该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)如果不存在祖父节点值为偶数的节点,那么返回0 。示例:输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]输出:18解释:图中红色节点的祖父节点的值为偶数,蓝色节点为这些红色节点的祖父节...

2020-01-12 01:22:10 201

原创 leetcode5146. 不同的循环子字符串

给你一个字符串text ,请你返回满足下述条件的不同 非空子字符串的数目:这些子字符串可以写成某个字符串与其自身的串联。示例 1:输入:text = "abcabcabc"输出:3解释:3 个子字符串分别为 "abcabc" , "bcabca" 和 "cabcab" 。示例 2:输入:text = "leetcodeleetcode"输出:2解释:2 个子字符串为...

2020-01-12 01:20:09 203

原创 Codeforces Round #601 (Div. 2)

A. Changing Volume这道题都转化为从小到大求解。优先按大的按钮就可以。#include<bits/stdc++.h>using namespace std;typedef long long LL; void solve(){ LL a, b; cin >> a >> b; if(a > b) s...

2019-11-20 17:21:38 128

原创 基础课第一章—基础算法

https://www.acwing.com/blog/content/277/排序快排、归并排序模板背会。 模板题目默写一遍。 提高熟练度。同一个模板题重复3-5次?快排——分治确定分界点x:取左边界 q[l], 中间值 q[(l+r)/ 2], q[r], 随机 调整区间。使第一个区间的数都小于等于x。第二个区间都大于等于x。(难点) 递归处理左右两段调整区间方法(...

2019-10-27 22:08:44 143

原创 leetcode432. All O`one Data Structure

两层的数据结构。node里面保存val和该val对应的字符串。list根据val从小到大排列。map保存一个string到list对应位置的迭代器。inc:没有这个string。就向list头部val==1的节点里存入该string如果有,就在该string后面val=当前val+1的list节点里面加入该string。并从当前list节点里删掉该stringdecval==1...

2019-10-26 15:03:29 162

原创 leetcode430. Flatten a Multilevel Doubly Linked List

https://leetcode-cn.com/problems/flatten-a-multilevel-doubly-linked-list/每个节点不仅有next还有child。根据便利顺序可以看到child是先遍历的,next后遍历。所以把next先入栈。如果有child再把child入栈。这样就能保证child先于next遍历。/*// Definition for a No...

2019-10-26 14:56:59 108

原创 427. Construct Quad Tree

https://leetcode-cn.com/problems/construct-quad-tree/对于一个正方形矩阵从(r1,c1)到(r2,c2),midr=(r1 + r2)/2, mirc = (c1 + c2) / 2。左上矩阵为:(r1 ,c1)->(midr, midc)左下矩阵为:(midr+1, c1) -> (r2, midc)右上:(r1, ...

2019-10-26 14:54:24 88

原创 424. Longest Repeating Character Replacement

class Solution {public: int characterReplacement(string s, int k) { int l = 0, r = 0, res = 0; int mxch = 0; vector<int> cnt(26); while(r < s.length()) ...

2019-10-25 21:25:06 86

原创 leetcode 421. Maximum XOR of Two Numbers in an Array

struct TrieNode{ int num; bool isend; vector<TrieNode*> children; TrieNode():isend(false), num(-1), children({nullptr, nullptr}) {}};struct Trie{ TrieNode* root; Trie...

2019-10-25 20:31:21 104

原创 leetcode417. Pacific Atlantic Water Flow

https://leetcode-cn.com/problems/pacific-atlantic-water-flow/submissions/class Solution {public: int dx[4] = {0, 0, 1, -1}, dy[4] = {1, -1, 0, 0}; vector<vector<int>> pacificAt...

2019-10-24 13:58:19 124

原创 leetcode416. Partition Equal Subset Sum

https://leetcode-cn.com/problems/partition-equal-subset-sum/这个其实是0/1背包。观察能力捉急。。要把数组分成相同的两部分。每部分则一定为数组和sum/2 。所以数组和sum一定为偶数。所以就是0/1背包。。。class Solution {public: bool canPartition(vector<i...

2019-10-24 13:09:51 86

原创 leetcode 414. Third Maximum Number

https://leetcode-cn.com/problems/third-maximum-number/这道题说的第三大的数是指不重复的第三大的数。而不是说排序后的第三大的数。所以在判断的时候要和前两大的数不同。class Solution {public: int thirdMax(vector<int>& nums) { long l...

2019-10-24 11:36:58 134

原创 leetcode 413. Arithmetic Slices

class Solution {public: int numberOfArithmeticSlices(vector<int>& a) { int dp = 0; int res = 0; for(int i = 2; i < a.size(); i++) { if(a[...

2019-10-23 17:02:05 80

空空如也

空空如也

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

TA关注的人

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