自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 力扣 523. 连续的子数组和 hash+dp

https://leetcode-cn.com/problems/continuous-subarray-sum/ 思路:hash+dphash+dphash+dp。搞一个hashhashhash表,dp[sum]=idp[sum]=idp[sum]=i,表示[0…i][0…i][0…i]的前缀...

2020-05-13 01:38:36 63 0

原创 力扣 155. 最小栈 栈+思维

https://leetcode-cn.com/problems/min-stack/ 思路:用两个栈,第一个栈s1s_1s1​正常做栈的操作,第二个栈s2s_2s2​维持一个单调非升的序列,从而保证最小值就在s2s_2s2​的栈顶,现在考虑怎么维护第二个栈,如果s2s_2s2​为空或者当前要压...

2020-05-13 00:05:30 54 0

原创 力扣 145. 二叉树的后序遍历 非递归版

https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ 思路:非递归版,这个思路对于前序遍历、中序遍历也适用。左右根,首先获得栈顶,然后判断栈顶是否为空,若不为空,则再次压入该节点,同时压入一个空指针,标记其前一位为根节...

2020-05-12 21:30:06 41 0

原创 力扣 94. 二叉树的中序遍历 非递归版 栈

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 思路:非递归版,中序遍历——左根右,也就是把左子树遍历完再输出当前节点的值,然后进入右子树,这是一个递归的过程。所以提示我们需要用到循环找到最左侧的节点,然后输出它的值...

2020-05-12 20:09:01 32 0

原创 力扣 144. 二叉树的前序遍历 递归/非递归

https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ 思路一:根左右,递归版随便写。 /** * Definition for a binary tree node. * struct TreeNode { * ...

2020-05-12 19:37:26 60 0

原创 洛谷 P1429 平面最近点对(加强版)分治/暴力+二分

https://www.luogu.com.cn/problem/P1429 思路一:正经解法:分治。首先把nnn个点按照xxx排序,每次按照p[mid].xp[mid].xp[mid].x把点集分成两部分,solve(l,mid)、solve(mid+1,r)solve(l,mid)、solv...

2020-05-12 18:10:19 60 0

原创 力扣 312. 戳气球 区间dp

https://leetcode-cn.com/problems/burst-balloons/ 思路:设dp[i][j]dp[i][j]dp[i][j]表示戳破区间[i,j][i,j][i,j]的所有气球所能获得的最大硬币数。为了方便处理,我们在数组开头和结尾各放入一个111,设数组原来有nn...

2020-04-26 01:38:13 67 0

原创 力扣 309. 最佳买卖股票时机含冷冻期 dp

https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 思路:dp[i]dp[i]dp[i]表示第iii天最多能赚多少钱,很容易写出O(n2)O(n^2)O(n2)的dpdpdp。 class...

2020-04-26 00:04:11 31 0

原创 力扣 279. 完全平方数 dp

https://leetcode-cn.com/problems/perfect-squares/ 思路:dpdpdp,列出n\sqrt nn​个完全平方数,问题就转化成了完全背包问题。 class Solution { public: int numSquares(int n) { ...

2020-04-25 21:46:45 39 0

原创 力扣 76. 最小覆盖子串 滑动窗口

https://leetcode-cn.com/problems/minimum-window-substring/ 思路:滑动窗口,搞两个指针l=r=0l=r=0l=r=0,把rrr右移直到满足题意,然后再把lll右移直到不满足题意,这时记录一下最小值,重复这个过程即可。 class Solu...

2020-04-25 21:31:44 48 0

原创 网易游戏雷火2020春招游戏研发工程师笔试题0425 前三题题解

第一题大概题面: 思路:dfs/bfsdfs/bfsdfs/bfs,直接计算答案呢不好算,我们考虑先设ans=6∗nans=6*nans=6∗n,然后把多算的面(内部的面)减掉,考虑一个立方体的坐标为(x,y,z)(x,y,z)(x,y,z),很容易得到与它相邻的666个面的坐标,如果这些坐标也...

2020-04-25 17:20:38 200 0

原创 力扣 32. 最长有效括号 思维\栈

https://leetcode-cn.com/problems/longest-valid-parentheses/ 思路一:初始置cur=ct=0cur=ct=0cur=ct=0,如果遇到(((,就令cur、ctcur、ctcur、ct自增,否则令curcurcur自减,ctctct自增,那...

2020-04-25 00:25:26 52 0

原创 力扣 44. 通配符匹配 dp

https://leetcode-cn.com/problems/wildcard-matching/ 思路:dp[i][j]dp[i][j]dp[i][j]表示aaa的前iii个字符和bbb的前jjj个字符能否匹配。那么答案就是dp[n][m]dp[n][m]dp[n][m],现在考虑怎么转移...

2020-04-24 20:08:02 32 0

原创 面试题35. 复杂链表的复制 哈希表/思维

https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/ 思路一:借助哈希表,建立新旧节点之间的映射即可。 /* // Definition for a Node. class Node { public: int ...

2020-04-24 18:06:32 38 0

原创 力扣 645. 错误的集合 位运算

https://leetcode-cn.com/problems/set-mismatch/ 思路:做法很多,只考虑空间O(1)O(1)O(1)的方法。设答案为a、ba、ba、b,数组的异或和为sumsumsum,再对所有的1<=i<=n1<=i<=n1<=i<...

2020-04-24 17:21:07 35 0

原创 力扣 面试题56 - I. 数组中数字出现的次数 异或思维

https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/submissions/ 思路:如果某个数字出现了奇数次,其他数字出现了偶数次,那么将全员异或就可得到答案。但是这道题有两个数字都出现了奇数次...

2020-04-24 16:43:58 91 0

原创 力扣 面试题07. 重建二叉树 递归分治/非递归版

https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/ 思路:先序遍历:根左右。中序遍历:左根右。那么可以由先序遍历得到根节点的值,依据此值再找到根节点在中序遍历的位置,那么就可以分出左子树和右子树,分治下去即可。 /** * ...

2020-04-24 16:18:43 33 0

原创 力扣 面试题47. 礼物的最大价值 dp

https://leetcode-cn.com/problems/li-wu-de-zui-da-jie-zhi-lcof/ 思路:dp[i][j]dp[i][j]dp[i][j]表示走到第iii行第jjj列所能获得的最大价值,显然有:dp[i][j]=max(dp[i][j−1],dp[i−1...

2020-04-24 14:28:47 31 0

原创 力扣 面试题32 - I. 从上到下打印二叉树 bfs

https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/ 思路:bfsbfsbfs即可,每次处理一整个层次。 /** * Definition for a binary tree node. * s...

2020-04-24 14:16:48 33 0

原创 力扣 面试题63. 股票的最大利润 贪心/dp

https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof/ 思路一:贪心,因为只能买卖一次,所以只要知道[1…i][1…i][1…i]的最小值MiniMin_iMini​和[i…n][i…n][i…n]的最大值MaxiMax_i...

2020-04-24 14:13:12 34 0

原创 力扣 面试题49. 丑数 优先队列\dp

https://leetcode-cn.com/problems/chou-shu-lcof/ 思路一:直接暴力做,priority_queuepriority\_queuepriority_queue取最小的数,然后把它的二倍、三倍、五倍放进去,这样第nnn次取出来的就是答案。再搞个mapma...

2020-04-24 01:26:24 44 0

原创 力扣 面试题36. 二叉搜索树与双向链表 中序遍历dfs

https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/ 思路:对一颗二叉搜索树进行中序遍历,即可得到有序的数组,如果用vectorvectorvector存储所有节点,那么很容易实现...

2020-04-24 00:43:07 52 0

原创 力扣 面试题32 - III. 从上到下打印二叉树 III deque+bfs

https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-iii-lcof/submissions/ 思路:bfsbfsbfs时用双端队列就行了,每次处理一层。 /** * Definition for a bi...

2020-04-23 22:45:14 40 0

原创 力扣 面试题31. 栈的压入、弹出序列 栈

https://leetcode-cn.com/problems/zhan-de-ya-ru-dan-chu-xu-lie-lcof/ 思路:维护一个栈stackstackstack,假设正在处理pushed[i]、poped[j]pushed[i]、poped[j]pushed[i]、pope...

2020-04-23 21:33:53 31 0

原创 力扣 面试题45. 把数组排成最小的数 贪心

https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/ 思路:首先把每个整数都转换成字符串,关键是如何组合这些字符串,显然对于任意两个字符串s1、s2s_1、s_2s1​、s2​来说,如果s1+s2&l...

2020-04-23 20:51:17 30 0

原创 力扣 面试题34. 二叉树中和为某一值的路径 栈+dfs

https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/ 思路:搞个栈记录路径就行了,注意路径的定义…… /** * Definition for a binary tree nod...

2020-04-23 19:52:52 37 0

原创 力扣 面试题38. 字符串的排列 dfs+回溯

https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/ 思路:dfsdfsdfs+回溯,注意判重即可。 自己实现的究极暴力版本: class Solution { public: bool vis[8]={0}; ...

2020-04-23 16:35:05 36 0

原创 力扣 面试题46. 把数字翻译成字符串 dp

https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/ 思路:为了方便,我们把输入转换成一个字符串,并且下标从111开始,用dp[i]dp[i]dp[i]表示s[1…i]s[1…i]s[1…i]对应的数字...

2020-04-23 00:47:58 52 0

原创 力扣 面试题33. 二叉搜索树的后序遍历序列 dfs+分治

https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/submissions/ 思路:假设某棵二叉搜索树的根节点的值为vvv,由二叉搜索树的性质易得:左子树的任意一个节点的值均小于vvv...

2020-04-23 00:44:21 33 0

原创 力扣 面试题59 - II. 队列的最大值 思维+deque

https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 思路:普通功能用queuequeuequeue就可以实现,怎么做到均摊O(1)O(1)O(1)求最大值呢?我们考虑用dequedequedeque维护一个单调非升的双端队列,...

2020-04-22 23:12:31 31 0

原创 力扣 面试题14- II. 剪绳子 II 快速幂+贪心

https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/submissions/ 思路:指数爆炸,取333为底。 class Solution { public: const int mod=1e9+7; using ll=l...

2020-04-22 19:58:11 54 0

原创 力扣 面试题67. 把字符串转换成整数 模拟

https://leetcode-cn.com/problems/ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu-lcof/ 思路:模拟。 class Solution { public: using ll=long long; int str...

2020-04-22 19:13:26 39 0

原创 力扣 面试题41. 数据流中的中位数 优先队列+思维

https://leetcode-cn.com/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof/ 思路:搞两个堆,假设当前一共有nnn个元素,大根堆存储最小的(n+1)/2(n+1)/2(n+1)/2个元素,小根堆存储最大的n/2n/2n/2个元素,...

2020-04-22 17:31:20 28 0

原创 力扣 面试题37. 序列化二叉树 bfs

思路:自己规定格式,字符串处理很恶心的不过可以用ostringstreamostringstreamostringstream和stringstreamstringstreamstringstream简化操作。想法其实很简单,bfsbfsbfs构造就行了。 /** * Definition fo...

2020-04-22 16:38:06 36 0

原创 力扣 面试题19. 正则表达式匹配 dp

https://leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/ 思路:dp[i][j]dp[i][j]dp[i][j]表示aaa的前iii个字符和bbb的前jjj个字符能否匹配。那么答案就是dp[n][m]dp[n][m]dp[...

2020-04-22 00:48:45 46 0

原创 codeforces gym101572 H Hyacinth 贪心+构造

https://vjudge.net/problem/Gym-101482H 题目大意:给一棵树,每个节点可以有两个valuevaluevalue,但是任意相邻的两个节点,最起码要有111个valuevaluevalue是相等的。且这个相等的valuevaluevalue可以计算到贡献里面,问怎...

2020-04-18 19:57:08 39 0

原创 codeforces gym101482 J Judging Troubles 暴力+map

https://vjudge.net/problem/Gym-101482J 题目大意:给出两个判题系统的判题结果,问最多能还原多少情况。 思路:搞两个mapmapmap分别存一下,然后遍历第一个mapmapmap暴力统计就完事了。 #include<bits/stdc++.h> #...

2020-04-18 19:49:48 43 0

原创 codeforces gym101482 F Finding Lines 概率乱搞

https://vjudge.net/problem/Gym-101482F 思路:给出nnn个点的坐标,问是否存在一条直线,使得至少有%p\%p%p的点位于该条直线上。 思路:n2n^2n2枚举?肯定会TTT。我们假设最有mmm个点位于一条直线上,每次任意选择两个点,选择到它们中的222个点的...

2020-04-18 19:47:26 32 0

原创 codeforces gym101482 E Euclidean TSP 三分

https://vjudge.net/problem/Gym-101482E 题目大意:给定n、p、s、vn、p、s、vn、p、s、v,求: 加上s∗(1+1/c)/vs*(1+1/c)/vs∗(1+1/c)/v的最小值。 思路:把这一传写成一个函数,由于n、p、s、vn、p、s、vn、p、s、...

2020-04-18 19:40:50 46 0

原创 codeforces gym101482 C Cent Savings dp

https://vjudge.net/problem/Gym-101482C 题目大意:按顺序给出nnn个物品,你可以把他们分组,最多分成d+1d+1d+1组,每组内的价值按照四舍五入计算,问最少可以付多少钱。 思路:dp[i][j]dp[i][j]dp[i][j]表示从iii开始分jjj个组最...

2020-04-18 19:34:57 40 0

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