![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode每日一练
文章平均质量分 62
21岁被迫秃头
没有谁会踏雾而来,喜欢的风景自己去看!
展开
-
【LeetCode每日一题】3. 无重复字符的最长子串 —— 滑动窗口
一看就会,一写就废?精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。原创 2022-04-15 06:00:00 · 316 阅读 · 0 评论 -
【LeetCode每日一题】2. 两数相加 —— 模拟
一看就会,一写就废?精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。原创 2022-04-16 00:00:00 · 227 阅读 · 0 评论 -
【LeetCode每日一题】1. 两数之和——暴力枚举
一看就会,一写就废?精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。原创 2022-04-14 20:21:21 · 133 阅读 · 0 评论 -
【LeetCode每日一题】784. 字母大小写全排列 —— DFS算法(C/C++)
一看就会,一写就废?本文是典型的DFS算法题,具体思路如下:首先使用 isdigit() 函数判断,若为数字则直接进行递归,即不用管;若为字母则使用 tolower() 函数——变为小写,然后递归,再使用 toupper() 函数——变为大写,递归。原创 2022-04-14 00:00:00 · 1055 阅读 · 0 评论 -
【LeetCode每日一题】46. 全排列 —— DFS算法(C/C++)
一看就会,一写就废?本文是典型的**DFS模板题**,并且是最具代表性的例题之一**排列组合类型**,没错,就是高中学的排列组合;原创 2022-04-13 00:00:00 · 2848 阅读 · 0 评论 -
【LeetCode每日一题】206. 反转链表 —— 递归(C/C++)
一看就会,一写就废?反转链表,只要屁股连头,头连屁股就好啦 ^ - ^qaq;在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来存储下一个节点。不要忘记在最后返回新的头引用!原创 2022-04-12 00:00:00 · 147 阅读 · 0 评论 -
【LeetCode每日一题】21. 合并两个有序链表—— 递归(C/C++)
一看就会,一写就废?如果 list1 或者 list2 一开始就是空链表 ,那么没有任何操作需要合并,所以我们只需要返回非空链表。否则,我们要判断 list1 和 list2 哪一个链表的头节点的值更小,然后递归地决定下一个添加到结果里的节点。如果两个链表有一个为空,递归结束。原创 2022-04-11 00:00:00 · 129 阅读 · 0 评论 -
【LeetCode每日一题】77. 组合 —— DFS算法(C/C++)
一看就会,一写就废?本题需要注意的是,这里某种数字组合的多种排列视为相同情况,因此需“去重”。一种可行的方案是**填数的时候**:原创 2022-04-10 00:00:00 · 702 阅读 · 0 评论 -
【LeetCode每日一题】994. 腐烂的橘子 —— BFS算法(C/C++)
大家好!我是一看就会(只是背下来了)一写就废的菜鸡,欢迎大家来与我一起进行刷题学习!!!下面先上鸡汤(本菜鸡),刷题前怎么能没有鸡汤与美女呢,嘎嘎嘎 ^ - ^原创 2022-04-08 00:00:00 · 540 阅读 · 0 评论 -
【LeetCode每日一题】542. 01 矩阵 —— BFS算法(C/C++)
一看就会,一写就废!!!对于矩阵中的每一个元素,如果它的值为 0,那么离它最近的 0 就是它自己。如果它的值为 1,那么我们就需要找出离它最近的 0,并且返回这个距离值。原创 2022-04-06 19:11:20 · 1130 阅读 · 0 评论 -
【LeetCode每日一题】116. 填充每个节点的下一个右侧节点指针 —— 层次遍历BFS算法(C/C++)
一看就会,一写就废!!!题目本身希望我们将二叉树的每一层节点都连接起来形成一个链表。因此直观的做法我们可以对二叉树进行层次遍历,在层次遍历的过程中将我们将二叉树每一层的节点拿出来遍历并连接。原创 2022-04-09 00:00:00 · 197 阅读 · 0 评论 -
【LeetCode每日一题】695. 岛屿的最大面积 —— BFS算法(C/C++)
一看就会,一写就废!!!我们想知道网格中每个连通形状的面积,然后取最大值。如果我们在一个土地上,以 44 个方向探索与之相连的每一个土地(以及与这些土地相连的土地),那么探索过的土地总数将是该连通形状的面积。原创 2022-04-07 00:00:00 · 340 阅读 · 0 评论 -
【LeetCode每日一题】617. Merge Two Binary Trees(合并二叉树)—— DFS(C/C++)
一看就会,一写就废?可以使用深度优先搜索合并两个二叉树。从根节点开始同时遍历两个二叉树,并将对应的节点进行合并。原创 2022-04-06 17:26:36 · 162 阅读 · 0 评论 -
【LeetCode每日一题】733. Flood Fill(图像渲染)—— BFS算法(C/C++)
典型BFS模板题呀,套模板就ok了!浅说一下思路:^ - ^我们从给定的起点开始,进行广度优先搜索。每次搜索到一个方格时,如果其与初始位置的方格颜色相同,就将该方格加入队列,并将该方格的颜色更新,以防止重复入队。注:因为初始位置的颜色会被修改,所以我们需要保存初始位置的颜色,以便于之后的更新操作。原创 2022-04-04 15:04:50 · 357 阅读 · 0 评论 -
【LeetCode每日一题】567. Permutation in String (字符串的排列) —— 滑动窗口 (C/C++)
大家好!看美女。先解释两个概念:子串与子序列子串:**必须连续**子序列:**可以不连续**本题是说s1 的排列之一是 s2 的 子串 ;这样的话若s1的长度大于s2错误,返回false;由于排列不会改变字符串中每个字符的个数,所以只有当两个字符串每个字符的个数均相等时,一个字符串才是另一个字符串的排列;我们可以定义两个数组a与b,分别用来记录s1与s2中字符的个数;原创 2022-04-06 06:00:00 · 267 阅读 · 0 评论 -
【LeetCode每日一题】557. 反转字符串中的单词 III——reverse应用(C/C++)
不知你是否知道在反转字符串时,有一个特别强大的函数 **reverse() 函数**,引用这个函数可直接实现字符串的反转;嘿嘿,下面来说下思路:可以对字符串进行遍历,标记开始位置,当**找到空格**时,使用**substr函数**截取,然后使用**reverse函数**进行反转,并加入另一字符串。原创 2022-04-05 06:00:00 · 203 阅读 · 0 评论 -
【LeetCode每日一题】344. 反转字符串——reverse应用(C/C++)
大家好,我是看着小姐姐刷题!!!一行代码搞定,在反转字符串中reverse是如此强大!!!原创 2022-04-04 06:00:00 · 249 阅读 · 0 评论 -
【LeetCode每日一题】167. 两数之和 II - 输入有序数组——双循环变单循环(C/C++)
大家好,我是一边刷题,一边看小姐姐。看到这道题的第一眼,双循环暴力呀,可等你写完会发现,**超时超时超时**,哈哈哈,双循环暴力不行,那可以单循环暴力呀,即双循环变单循环;在这里我就不多做讲解了,上代码,你这么聪明,相信你一看就懂 ^ - ^原创 2022-03-31 20:43:04 · 1260 阅读 · 0 评论 -
【LeetCode每日一题】283. 移动零——vector用法(C/C++)
两个方法,任你选择!!!!方法一:纯 vector 容器运用,看到题目说要让操作步数尽可能少,自然想到了能不能先把数组里的0全部删了,再在最后把0补回来;那么显然是可以哒,主要利用到了remove和erase两个函数;那么具体的做法是:先用remove删掉0,再用erase删掉容器中的无用元素,最后再压入0的个数就ok啦原创 2022-04-03 06:00:00 · 491 阅读 · 0 评论 -
【LeetCode每日一题】189. 轮转数组——公式数学(C/C++)
首先看到这道题,我想得是用链表,可在刚刚敲代码时,突然意识到一行公式就可以解决啊,看下面:首先用 **size()** 函数获取数组长度n;n个数字在有序空间“流动”k次,每个数字向后移动k的距离,即 i + k ,但超过空间长度咋办呢,那就取余吧,对空间长度取余 即:(i + k)% n 。可获得如下公式:**nums[(i+k) % n] = a[i];**原创 2022-04-02 06:00:00 · 778 阅读 · 0 评论 -
【LeetCode每日一题】977. 有序数组的平方——Sort排序
题目:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums.length <= 10^4-10^4 <原创 2022-04-01 06:00:00 · 508 阅读 · 0 评论 -
【LeetCode每日一题】35. 搜索插入位置——二分算法(C/C++)
二分算法的模板题;mid = (right - left) / 2 + left;当 nums[i] == target 时,返回下标mid;当 nums[i] > target 时,变换左边边界,left = left + 1;当 nums[i] < target 时,变换右边边界,right = right - 1。当没有时返回插入位置,即**左边界就是要插入的位置**。原创 2022-03-31 06:00:00 · 206 阅读 · 0 评论 -
【LeetCode每日一题】278. 第一个错误的版本——二分算法(C/C++)
二分算法的模板题;mid = (right - left) / 2 + left;如果 !isBadVersion(mid-1) && isBadVersion(mid),返回下标mid;如果 !isBadVersion(mid) ,变换左边边界,left = left + 1;如果 isBadVersion(mid) ,变换右边边界,right = right - 1。原创 2022-03-30 06:00:00 · 826 阅读 · 0 评论 -
【LeetCode每日一题】704. 二分查找
思路:二分算法的模板题;mid = (right - left) / 2 + left;当 nums[i] == target 时,返回下标mid;当 nums[i] > target 时,变换左边边界,left = left + 1;当 nums[i] < target 时,变换右边边界,right = right - 1。原创 2022-03-29 15:01:59 · 574 阅读 · 0 评论