自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向着星辰大海

没有bug只有buff

  • 博客(26)
  • 收藏
  • 关注

原创 leetcode124 二叉树中的最大路径和(hard)

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10/ \9 20/ ...

2019-09-21 13:54:14 191

原创 被3整除的子序列(hard)

链接:https://ac.nowcoder.com/acm/problem/21302来源:牛客网题目描述给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除答案对1e9+7取模输入描述:输入一个字符串,由数字构成,长度小于等于50输出描述:输出一个整数示例1输入 132输出 3思路:dp,记录每个位置中,除以3余数是1,...

2019-09-20 18:46:12 512

原创 ip地址与整数互转

1、ip地址转成整数原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成整数。举例:一个ip地址为10.0.3.193每段数字相对应的二进制数10000010100 000000003 000...

2019-09-20 15:31:09 1122

原创 leetcode886. 可能的二分法(hard)(dfs用于染色问题)

给定一组N人(编号为1, 2, ..., N),我们想把每个人分进任意大小的两组。每个人都可能不喜欢其他人,那么他们不应该属于同一组。形式上,如果 dislikes[i] = [a, b],表示不允许将编号为 a 和 b 的人归入同一组。当可以用这种方法将每个人分进两组时,返回 true;否则返回 false。示例 1:输入:N = 4, dislikes = [[1,...

2019-09-19 21:30:15 379

原创 leetcode85 最大矩形(hard)

题目给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6思路1:单调栈这题还是比较有技巧性的,可以将它转换成...

2019-09-19 15:45:27 264

原创 leetcode31 字典序下一个排列(mid)

题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路25431后面为完全逆序,...

2019-09-18 21:39:50 295

原创 leetcode486 预测赢家(排成一条线的纸牌博弈问题)

思路1:暴力递归法会超时#include <iostream>#include <vector>using namespace std;class Solution{public: // 为先手时 int first(int l,int r,vector<int> &nums){ // 只有一...

2019-09-18 20:49:16 468

原创 leetcode354 俄罗斯套娃信封问题(二维的最长上升子序列)

给定一些标记了宽度和高度的信封,宽度和高度以整数对形式(w, h)出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出...

2019-09-18 16:46:07 255

原创 leetcode312 戳气球(hard)

题目有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组nums中。现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得nums[left] * nums[i] * nums[right]个硬币。这里的left和right代表和i相邻的两个气球的序号。注意当你戳破了气球 i 后,气球left和气球right就变成了相邻的...

2019-09-18 15:29:47 241

原创 换钱的方法数(hard,主要怎样去重)

思路1:空间压缩的dpdp[i]:表示换 i 的钱的方案数量这里注意去重,如2,3,5,换5的钱 0 1 2 3 4 5以2为起始 1 0 1 0 2 0以3为起始 1 0 1 12 1以5为起始 1 0 1 12 2故换5的钱一共2种方法:即2+3和5这里通过这样的顺序限定,使得2,3和3,2不会重复,因为必...

2019-09-17 23:32:35 114

原创 机器人达到指定位置的方法数(hard)

思路dp[i][j]:走i步,到j位置的方案数量dp[i][j] = dp[i-1][j-1]+dp[i-1][j+1]每个位置方案数,都等于上个时刻左右两边方案数,注意n+2和0的位置的padding,可以处理边界情况#include <iostream>#include <vector>using namespace std;//...

2019-09-17 18:49:35 682

原创 换钱的最少货币数

https://www.nowcoder.com/practice/4e05294fc5aa4d4fa8eacef2e606e5a8?tpId=101&tqId=33080&tPage=1&rp=1&ru=/ta/programmer-code-interview-guide&qru=/ta/programmer-code-interview-guide...

2019-09-17 16:59:45 261

原创 logN时间复杂度的斐波那契数列

引入矩阵幂次乘法class Solution {public: int fib(int n) { if(n < 1) return 0; if(n < 3) return 1; vector<vector<int>> begin{{1,1}}; vector<vector...

2019-09-17 16:08:33 442

原创 leetcode64 最小路径和

题目:给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路:经典dp,非常简单class Solution {public...

2019-09-17 15:35:29 81

原创 LeetCode504 七进制数

题目给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是[-1e7, 1e7] 。思路参考十进制转二进制:不断的去除,获得的余数逆置789=1100010101(B)789/2=394 余1 第10位394/2=197 余0 第9位197/2=...

2019-09-17 14:18:05 295

原创 leetcode30 串联所有单词的子串(hard)

题目给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例 1:输入: s = "barfoothefoobarman", words = ["foo","bar"]输出:[0,9]解释:...

2019-09-12 22:59:03 259

原创 leetcode29 两数相除(hard,位运算)

题目给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均...

2019-09-12 21:21:57 197

原创 leetcode28 实现 strStr()--KMP算法应用(hard)

题目实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needl...

2019-09-12 19:53:41 153

原创 leetcode25 K 个一组翻转链表

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

2019-09-12 16:08:48 176

原创 leetcode24 两两交换链表中的节点

题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.思路头插法,这题很简单/** * Definition for singly-linked list. * struct ListNod...

2019-09-12 14:07:06 92

原创 leetcode23 合并K个排序链表(频繁考)

题目合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思路1:二分递归经典k路归并,这里采用二分递归时间复杂度:归并两个有序数组时间复杂度为O...

2019-09-11 22:54:48 258

原创 LeetCode22 括号生成(注意一下)

题目:给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]思路:这里用递归加上剪枝,我之前的剪枝方法有问题,注意一下剪枝条件,不需要在递归的时候判断,直接在下一层判断状态非法则返回即...

2019-09-11 20:13:55 147

原创 leetcode20 有效的括号(easy)

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

2019-09-11 14:17:15 112

原创 leetcode19 删除链表的倒数第N个节点(边界注意)

题目给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。思路:注意删除头和尾的情况,这里使用一个虚拟头结点来解决使用快慢指针,O(n)完成/...

2019-09-11 13:41:43 122

原创 leetcode17 电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].思路:用一个队列直接去不断生成即可class Solution {public: ve...

2019-09-11 13:28:46 117

原创 leetcode32 最长有效括号(hard)

题目给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度(连续的长度,而不是里面有效括号长度)。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"思路难点:主要有3种情况独立括号:(()()()嵌套括号:(())两者混...

2019-09-10 16:23:24 181

空空如也

空空如也

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

TA关注的人

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