- 博客(10)
- 收藏
- 关注
原创 春招&&考研——写给这十年自己的一封信
写给这十年自己的一封信 我的人生由自己选——写给过去几年的自己,感谢你能坚持到现在 旭旭baobao收: 早就说春招拿到offer后,一定要来给过去十年的自己写封信,在毕设初稿修改空隙之际,终于能抽出时间来写这封信啦。这封信要讲讲我一路走来经历的故事,虽然这条路充满了泥泞与曲折,但终究还是坚持下来了~ 哈哈准备好了嘛,那我开始咯。 如果真的要讲完,可能篇幅要很多很多。我的人生阅历还算是比较丰富的吧,因为我是从小被爷爷奶奶带大(从出生到现在),然后爸妈都不在身边,所以我从小时候就开始独立了,什么事情都会自己来
2022-05-24 18:30:03
289
原创 leetcode 136. 只出现一次的数字 [位运算]
1.题目要求 leetcode 136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 2.解题思路(位运算) 实现思路:位异或 本题思路如下: 利用位运算中的异或操作,可以很快找到本题的解 。 tip:0异或上一个数,结果仍等于这个数;1异或上一个数,
2022-02-12 19:12:40
248
原创 leetcode 93. 复原 IP 地址 [回溯]
1.题目要求 leetcode 93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “[email protected]” 是 无效 IP 地址。 给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插
2022-02-11 23:08:44
1579
1
原创 leetcode 239. 滑动窗口最大值 [双向队列]
1.题目要求 leetcode 239. 滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 ------------------------- ----- [1 3
2022-02-09 21:13:07
979
1
原创 leetcode 26.删除有序数组中的重复项 [双指针]
1.题目要求 leetcode 26.删除有序数组中的重复项 给你一个有序数组 nums ,请你 原地删除 重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下: // nums 是以“引用”方式传递的。也就是说,不对实
2022-02-07 19:39:30
154
2
原创 leetcode 20.有效的括号
1.题目要求 leetcode 20.有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 1.左括号必须用相同类型的右括号闭合。 2.左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出:true 示例 3: 输入:s = "(]" 输出:false 示例 4: 输入:s = "([)]" 输出:false 示例 5: 输入:s = "{[]
2022-02-06 18:40:11
547
原创 dfs:深搜解决全排列问题
题目描述 给定 n ( n ≤ 9 ), 按字典序输出 1 到 n 的所有全排列。 思路分析 要输出1-n的全排列,可以建立一个n个节点的 **无向完全图** 然后对每个点作为起点,分别做一次深度优先搜索,当所有点都已经标记时,输出当前的搜索路径。 因为是按字典序,所以每次从小到大开始遍历 如果当前节点没访问过,就添加其到访问序列arr,同时计数已标记的节点数目depth++ 当**所有节点都已访问**时,输出此时的访问序列。 访问结束后,**删除**此节点的**访问标记**。 实现代码 #include
2022-01-24 13:27:21
515
原创 leetcode1008. 前序遍历构造二叉搜索树
1.题目描述 返回与给定前序遍历 preorder 相匹配的二叉搜索树 (binary search tree) 的根结点。(二叉搜索树是二叉树的一种,其每个节点都满足以下规则,对于 node.left 的任何后代,值总 < node.val,而 node.right 的任何后代,值总 > node.val。此外,前序遍历首先显示节点 node 的值,然后遍历 node.left,接着遍历 node.right。)。题目保证,对于给定的测试用例,总能找到满足要求的二叉搜索树。 样例输入: [
2022-01-21 13:38:10
387
原创 动态规划 dp解 最大正方形
题目来源:LeetCode第1139题 难度:中等 题目描述: 给你一个由若干0和1组成的二维网格grid,请你找出边界全部由1组成的最大正方形子网格,并返回该子网格中的元素数量。如果不存在,则返回0。 示例 1: 输入:grid = [ [1,1,1], [1,0,1], [1,1,1]] 输出:9 示例 2: 输入:grid = [[1,1,0,0]] 输出:1 提示: 1<=grid.length<=100 1<=grid[0].length<=100 grid[i][j]为0
2021-07-27 00:27:30
280
原创 2021年第十二届蓝桥杯省赛B组C/C++赛道
G题砝码称重 给出两种解法 解法一(转载大佬代码) 思路:dp 初始设dp[102][100002] dp[i][j]为1代表前i个砝码可以称出质量j,为0代表不能称出来; 两层循环里一定有: dp[i][j]=dp[i-1][j] //因为前i-1可以称出来的质量前i个照样能! 如果dp[i][j]仍未0,那么看j和w[i]的关系: j==w[i],则dp[i][j]=1; 否则dp[i][j]=dp[i-1][abs(j-w[i])]; 最后数一下有多少个为1的即可。 dp代码 #include&l
2021-04-28 22:30:11
691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人