- 博客(66)
- 收藏
- 关注
原创 LeetCode36.Valid-Sudoku<有效的数独>
题目:思路:这题并不难,它类似于N皇后问题。在N皇后问题中,行,列,对角线,写对角线,都不能出现连续的皇后。本题类似,不过他是行,列,还有一个BOX内。
2023-07-31 02:27:39 220
原创 LeetCode547.Number-Of-Provinces<省份问题>
题目:思路:连通的部分加起来,然后总的 减去连通的部分。但是很可惜 只能通过部分似乎将st[i][j] st[j][i] 改变之后是可行的 但是实际上 1 2 连通后 2 1 确实是不会再加。但是 2 3却还是在加一遍。好吧。答案的思路是使用并查集。将连通的部分变为一个集合。然后数里面有几个集合。
2023-07-30 23:45:43 198
原创 LeetCode130.Surrounded-Regions<被围绕的区域>
思路:好吧,这题不会。将问题转化为与边界O相连的O。有点像岛屿问题了。
2023-07-30 23:39:23 329
原创 LeetCode551.Student-Attendance-Record-i<学生出勤记录 I>
题目:思路:遍历就完事了.连续三天不来return false;超过两次缺勤 fasle;
2023-07-30 00:43:06 215
原创 LeetCode208.Implement-Trie-Prefix-Tree<实现 Trie (前缀树)>
题目:思路:tire树,学过,模板题。一种数据结构与算法的结合吧。
2023-07-30 00:40:50 551
原创 LeetCode102.Binary-Tree-Level-Order-Traversal<二叉树的层序遍历>
题目:思路:写过N叉树的层序遍历,使用栈保存每一层的结点。然后每次当前层结束。将这一层的值添加进去res中。
2023-07-30 00:36:46 140
原创 LeetCode32.Longest-Valid-Parentheses<最长有效括号>
题目:思路:遍历括号.遇到右括号然后前一个是左括号 那就res+2,然后重定位 i 的值 并且长度减少2;但是问题在于无法判断最长的括号.只能得到string内的全部括号长度.错误代码:写过一题类似的,那题是找括号数.记得是使用的栈,但是死活写不出来.看完答案觉得答案有一些反常.
2023-07-29 00:51:36 147
原创 LeetCode621.Task-Scheduler<任务调度器>
题目:思路:思路个锤子,看完题根本不会写.看的答案 :是一种贪心的思想.数学问题.一个是任务的种类,一个是任务的最大的一个值。
2023-07-29 00:45:13 266
原创 LeetCode221.Maximal-Square<最大正方形>
题目:思路:这题是动态规划,但是不会写。想着判断dp的 <上,左,左上> 去了。发现只能这样最大只能判断面积为4的正方形因为只会判断另外三个方格。而要想判断更大的正方形那就需要递归操作了。那肯定会超时了。好吧,只能看答案了。正方形的面积的长乘宽。在例子中我们可以看到有一个长方形。但是我们只取短的边作为正方形的边。所以dp是取最小值。
2023-07-28 00:57:59 219
原创 LeetCode647.Palindromic-Substrings<回文子串>
题目:思路:错误代码:(缺少部分判断)使用的是寻找回文子串的方法。以一个点为中心向两边扫描。但是有一点小问题。
2023-07-28 00:42:27 225
原创 LeetCode91.Decode-Ways<解码方法>
题目:思路:关键在于有没有0,其次能不能二位.二位的要求是在 1-- 26的范围内.所以动态规划的时候需要限制.
2023-07-27 00:36:04 126
原创 LeetCode64.Minimum-Path-Sum<最小路径和>
题目:思路:一开始使用的深度优先搜索,结果果然是超时了.好吧 是需要动态规划的.和上次有一题有点像.将边缘初始化为数组原本的数.然后每次只能向下或者向右.那么dp[i][j] = min (dp[i-1][j], dp[i][j-1 )
2023-07-27 00:33:53 216
原创 LeetCode279.Perfect-Squares<完全平方数>
题目:思路:这一题和硬币那题有一点像。所以我们初始化一系列“硬币”(平方数) 然后扫描用多少个“硬币”可以组成值。最后返回结果即可。
2023-07-26 00:54:34 672
原创 LeetCode213.House-Robber-II<打家劫舍II>
题目:思路:在版本一中增加了一个条件 那就是首尾相关联。那么只需要进行两次循环即可。第一次是循环是偷第一家的 那么循环到n-1 截至 并且保存一个cmp第二次循环是不偷第一家的 循环到n截至。然后比较cmp 与 dp [n] 的最大值即可。
2023-07-26 00:51:39 229
原创 LeetCode322.Coin-Change<零钱兑换>
题目:思路:一开始使用的是先用大的硬币,然后用小的硬币. 类似贪心. 但是有个问题就是他可能无法整除.但是如果用别的硬币那么就可以整除. 好吧.不会只能看答案了.讲得很详细.使用的是类似递归的思想.如果我要获得11块钱 然后硬币 有 1 ,2 ,5. 那么我需要的是dp [11 - 5] + 1的硬币数. 然后 dp [6 - 5] + 1 的硬币数, 最后是 dp[1 - 1] + 1 的硬币数.逐层获得硬币然后最后的结果如果有的那么返回.如果没有那就返回 -1 .
2023-07-25 00:40:48 143
原创 LeetCode152.Maximum-Product-Subarray<乘积最大的子数组>
题目:思路:一开始是使用的每次乘积的最大值. 遍历. 然后因为有负数所以还是差点.看了答案,发现还需要保存一个负数的值.当当前的值是负数的时候 互换位置.然后获得当前最大值.
2023-07-25 00:32:45 363
原创 LeetCode53.Maximum-Subarray<最大子数组和>
题目:思路:这题不会啊...然后发现题解如此简单,逐层判断.得到最大值.每次取得当前的最大值.并且更新结果最大值,结果循环扫描后得到结果。
2023-07-24 00:04:44 203
原创 LeetCode1143.Longest-Common-Subsequence<最长公共子序列>
题目:思路:我也不会,看出来了是动态规划,然后想着用sort试试.看的题解.每一次扫描 双重for循环扫描字符(感觉这和一个个对比双指针区别不大了)..这动态规划也太笨重.循环扫描数组。当字符相同的时候 + 1,否则等于它们之前较大的那一个。
2023-07-23 00:49:06 83
原创 LeetCode62.Unique-Paths<不同路径>
题目:思路:看的答案..额,动态规划.每一次能走的步数有上一次的上面或者左边过来,所以初始化所有为1,后面的由前面的组成.
2023-07-23 00:40:24 112
原创 LeetCode45.Jump-Game-II<跳跃游戏II>
题目:思路:从上次大神那里获得的灵感这题问的是次数,那么我们需要确保 1,能否跳到终点 2,得到次数.第一次条获得的是nums[0],那么第一个数就是我们第一次能跳跃的范围.每次在范围里获得最大值.并且次数加一.然后进入下一次范围;即可得到次数;
2023-07-21 23:13:19 272
原创 LeetCode17.Letter-Combinations-Of-A-Phone-Number<电话号码的字母组合>
思路:电话号码的组合,深度优先算法,达到长度时,添加进res中;初始化一个数字序列wds;然后从0层开始搜索长度达到length时添加进去add中,当add.length==n res.push_back。
2023-07-21 23:06:30 49
原创 LeetCode153.Find-Minimum-In-Rotated-Sorted-Array<寻找旋转排序数组中的最小值>
思路:(1) sort 排序(2) 循环找最小数。
2023-07-21 00:04:29 57
原创 LeetCode74.Search-A-2d-Matrix<搜索二维矩阵>
题目:思路:矩阵,搜索数是否在矩阵内。那就查找他是否在每一行中。如果符合这一行的范围,那就一直找这一列是否存在,如果存在返回true;否则false;
2023-07-21 00:01:07 369
原创 LeetCode122.Best-Time-To-Buy-And-Sell-Stock-II<买卖股票的最佳时机II>
题目:思路:只要后面比前面大,那就卖就完事了.贪心的思想. 这道题应该是可以动态规划的.但是贪心简单得多.
2023-07-20 00:16:32 46
原创 LeetCode455.Assign-Cookies<分发饼干>
题目:思路:实现进行排序,然后分发饼干的条件是.分的饼干至少大于需求的饼干.所以双指针就可以了.
2023-07-20 00:12:12 169
原创 LeetCode121.Best-Time-To-Buy-And-Sell-Stock<买卖股票的最佳时机>
题目:思路:一开始是暴力解法,前后扫描然后获得最大值, 理所当然的TLO然后不会了..看答案是使用单次循环,然后相减的方法.n个数,在第 k 个数时 i为0到 k 中最小的数.然后当前K的数减去 i 是否比max大如果大则替换. 然后判断当前的数是否比min小, 小则替换.
2023-07-20 00:10:07 63
原创 LeetCode169.Majority-Element<多数元素>
题目:思路:一开始想的是使用map,然后保存键值对.然后写一个比较pair 的value的方法来获得map中最大的函数,看了一眼数据发现有点大.可以是可以但是比较慢.会写但是没写.然后看了眼答案.我测.直接一直比较就行了;我想得有点复杂;
2023-07-19 00:42:39 83
原创 LeetCode33.Search-In-Rotated-Sorted-Array<搜索旋转排序数组>
题目:思路:自己写的使用unordered_map 放入key然后读取value.
2023-07-18 00:17:38 56
原创 LeetCode529.Minesweeper<扫雷游戏>
然后自然是扫描了,扫雷扫的是九宫格.除中心外,另外八个点.所以定义两个数组顺序是上下左右,左上,左下,右上,右下.还有一个st数组表示是否扫描过这个点;扫描就是保证不越界的情况下,并且没有访问过这个点,那么就进行扫描;然后我犯了一个错误,找了一个多小时://(1).k < 8;k < 8;
2023-07-17 00:49:54 107
原创 LeetCode198.House-Robber<打家劫舍>
题目:思路:看出来了,是动态规划.!!!我们以最后一家是偷还是不偷为分割点.(1). 如果偷 那么前面一家那么就不能偷. 那么dp[n] = dp[n-2] + nums[n];(2)如果不偷那么他就只能等于dp[i-1]我们只需要在dp[n]的时候取以上两种情况的最大值即可.
2023-07-15 23:41:02 75
原创 LeetCode105.Construct-Binary-Tree-From-Preorder-And-Inorder-Traversal<从中序与前序遍历序列构造二叉树>
题目: 思路:
2023-07-15 23:35:08 45
原创 LeetCode50.Powx-n
题目: 思路:初次代码是: acwing学过的快速幂方法.二进制的选择性相乘.它是数学特性 详细了解可以查询相关算法的原理.:
2023-07-15 00:04:17 55
原创 LeetCode46.Permutations<全排列>
题目:思路:dfs深度搜索算法,st 来判断这个数字是否已经使用.acwing讲过类似的题目,几乎一样.递归地,每次添加进去没使用过的数字,当等于n的时候,push进去res中 然后返回st= false代表没访问过. pop add的值,然后进入下一次递归中。
2023-07-14 00:51:09 48
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人