
学渣带你刷Leetcode
文章平均质量分 67
学渣的视角用C语言实现包括输入输出代码的leetcode算法。大神的世界是美好的,我就习惯在旁边静静的看着。
爱学习的小鹏友
用学渣的视角看世界
展开
-
学不会的我带你刷Leetcode1576. 替换所有的问号
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码原创 2022-01-05 13:38:25 · 547 阅读 · 0 评论 -
学渣带你刷Leetcode307. 区域和检索 - 数组可修改
题目描述给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。update(i, val) 函数可以通过将下标为i的数值更新为val,从而对数列进行修改。示例:Given nums = [1, 3, 5]sumRange(0, 2) -> 9update(1, 2)sumRange(0, 2) -> 8说明:数组仅可以在update函数下进行修改。你可以假设 update 函数与 sumRa...原创 2020-09-25 16:12:29 · 207 阅读 · 0 评论 -
学渣带你刷Leetcode303. 区域和检索 - 数组不可变
题目描述给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3说明:你可以假设数组不可变。会多次调用sumRange方法。来源:力扣(LeetCode)链接:https:/...原创 2020-09-24 16:22:44 · 332 阅读 · 1 评论 -
学渣带你刷Leetcode299. 猜数字游戏
题目描述你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:你写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个提示,告诉他的猜测数字中有多少位属于数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位属于数字猜对了但是位置不对(称为“Cows”, 奶牛)。朋友根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,返回字符串的格式为 xAyB ,x 和 y 都是数字,A 表示公牛,用B表示奶牛。x..原创 2020-09-23 16:47:56 · 463 阅读 · 0 评论 -
学渣带你刷Leetcode292. Nim 游戏
题目描述你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。来源:力扣(LeetCode)链接:https:/...原创 2020-09-22 16:11:09 · 219 阅读 · 0 评论 -
学渣带你刷Leetcode287. 寻找重复数
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码原创 2020-09-21 16:43:58 · 233 阅读 · 0 评论 -
学渣带你刷Leetcode283. 移动零
题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。白话题目:一个数组,将里面的0都移动到尾部,非原创 2020-09-20 06:27:26 · 304 阅读 · 0 评论 -
学渣带你刷Leetcode278. 第一个错误的版本
题目描述你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例:给定 n..原创 2020-09-18 15:53:06 · 260 阅读 · 0 评论 -
学渣带你刷Leetcode271. 字符串的编码与解码
题目描述请你设计一个算法,可以将一个字符串列表编码成为一个字符串。这个编码后的字符串是可以通过网络进行高效传送的,并且可以在接收端被解码回原来的字符串列表。1 号机(发送方)有如下函数:string encode(vector<string> strs) { // ... your code return encoded_string;}2 号机(接收方)有如下函数:vector<string> decode(string s) { //... ...原创 2020-09-17 14:52:27 · 1028 阅读 · 0 评论 -
学渣带你刷Leetcode266. 回文排列
题目描述给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。示例 1:输入: "code"输出: false示例 2:输入: "aab"输出: true示例 3:输入: "carerac"输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-permutation著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。白话题目:一串字.原创 2020-09-16 14:48:09 · 397 阅读 · 0 评论 -
学渣带你刷Leetcode256. 粉刷房子
题目描述假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个n x 3的矩阵来表示的。例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2]表示第 1 号房子粉刷成绿色的花费,以此类推。请你计算出粉刷完所有房子最少的花费成本。注意:所有花...原创 2020-09-15 11:32:23 · 385 阅读 · 0 评论 -
学渣带你刷Leetcode252. 会议室
题目描述给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),请你判断一个人是否能够参加这里面的全部会议。示例 1:输入: [[0,30],[5,10],[15,20]]输出: false示例 2:输入: [[7,10],[2,4]]输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/meeting-rooms著作权归领扣网络所有。原创 2020-09-14 15:44:27 · 596 阅读 · 0 评论 -
学渣带你刷Leetcode246 中心对称数
题目描述中心对称数是指一个数字在旋转了 180度之后看起来依旧相同的数字(或者上下颠倒地看)。请写一个函数来判断该数字是否是中心对称数,其输入将会以一个字符串的形式来表达数字。示例 1:输入: "69"输出: true示例 2:输入: "88"输出: true示例 3:输入: "962"输出: false白话题目:单个数字翻转就还是原先的69 转转转 还是69 。算法:这个题其实是这样的-------->变成这个样子...原创 2020-09-11 11:52:49 · 1241 阅读 · 2 评论 -
学渣带你刷Leetcode0217. 存在重复元素
题目描述给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicat.原创 2020-09-24 12:56:00 · 201 阅读 · 0 评论 -
学渣带你刷Leetcode215. 数组中的第K个最大元素
题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-largest-e.原创 2020-09-24 12:55:44 · 269 阅读 · 0 评论 -
学渣带你刷Leetcode0206. 反转链表
题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL白话题目:没有啥的,会一些数据结构的小伙伴,都应该能玩了吧。给一个链表,反着输出形成新的链表没学过的小伙伴,看下边。啥都有。我来帮你解决简单问题,我就喜欢把复杂问题简单化,把简单的事情墨迹化。算法:(1)找到链表的头和它后面的哪一个(2)把头摘下来,连接到新表的头(一开始啥也没.原创 2020-09-03 16:21:00 · 139 阅读 · 0 评论 -
学渣带你刷Leetcode0205. 同构字符串
题目描述给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以被替换得到t,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "bar"输出: false示例 3:输入: s = "paper", t = "title"输出: true说...原创 2020-09-02 16:38:14 · 165 阅读 · 0 评论 -
学渣带你刷Leetcode0204. 计数质数
题目描述统计所有小于非负整数n的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码int countPrimes(int n){ int *nums = malloc(sizeof(int) * ...原创 2020-09-02 16:37:07 · 139 阅读 · 0 评论 -
学渣带你刷Leetcode0203. 移除链表元素
题目描述删除链表中等于给定值val的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码/** * Definition for singly-l...原创 2020-09-02 16:36:00 · 125 阅读 · 0 评论 -
学渣带你刷Leetcode0202. 快乐数
题目描述编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。示例:输入:19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1来源:力扣(...原创 2020-09-02 16:34:23 · 171 阅读 · 0 评论 -
学渣带你刷Leetcode0201. 数字范围按位与
题目描述给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bitwise-and-of-numbers-range著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。白话题目:.原创 2020-09-02 16:32:40 · 155 阅读 · 0 评论 -
学渣带你刷Leetcode547. 朋友圈
题目描述班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B的朋友,B 是 C的朋友,那么我们可以认为 A 也是 C的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N * N的矩阵M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例 1:输入:[[1,1,0],[1,1,0],[0,0,1]]输出:2解释:已...原创 2020-08-25 11:43:34 · 649 阅读 · 0 评论 -
学渣带你刷Leetcode200. 岛屿数量
题目描述给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[['1','1','1','1','0'],['1','1','0','1','0'],['1','1','0','0','0'],['0','0','0','0','0']]输出:1示例2:输入:[['1','1','0','...原创 2020-08-22 21:20:12 · 232 阅读 · 0 评论 -
学渣带你刷Leetcode199. 二叉树的右视图
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right;...原创 2020-08-22 21:18:38 · 179 阅读 · 0 评论 -
学渣带你刷Leetcode198. 打家劫舍
题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示...原创 2020-08-22 21:16:59 · 130 阅读 · 0 评论 -
学渣带你刷LeetcodeLeetcode197. 上升的温度
题目描述SQL架构给定一个Weather表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。+---------+------------------+------------------+| Id(INT) | RecordDate(DATE) | Temperature(INT) |+---------+------------------+------------------+| 1 | 2015-01-01 | ..原创 2020-08-22 21:15:30 · 196 阅读 · 0 评论 -
学渣带你刷Leetcode196. 删除重复的电子邮箱
题目描述196. 删除重复的电子邮箱白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gB# Write your MySQL query statement belowDELETE p1 FROM Person p1, Person p2WHERE p1.Email = p2.Email AND p1.Id > p2.Id...原创 2020-08-22 21:12:54 · 282 阅读 · 0 评论 -
学渣带你刷Leetcode195. 第十行
题目描述给定一个文本文件file.txt,请只打印这个文件中的第十行。示例:假设file.txt 有如下内容:Line 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 10你的脚本应当显示第十行:Line 10说明:1. 如果文件少于十行,你应当输出什么?2. 至少有三种不同的解法,请尝试尽可能多的方法来解题。来源:力扣(LeetCode)链接:https://leetcode-cn.com/..原创 2020-08-22 21:10:45 · 188 阅读 · 0 评论 -
学渣带你刷Leetcode194. 转置文件
题目描述给定一个文件file.txt,转置它的内容。你可以假设每行列数相同,并且每个字段由' ' 分隔.示例:假设file.txt文件内容如下:name agealice 21ryan 30应当输出:name alice ryanage 21 30来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/transpose-file著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。白话题目:...原创 2020-08-22 21:08:52 · 229 阅读 · 0 评论 -
学渣带你刷Leetcode193. 有效电话号码
题目描述给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设file.txt内容如下:987-123-4567123 456 7890(123) 456-7890你的脚本应当输出下列有效的电话号码:987-123-4567...原创 2020-08-22 21:07:02 · 277 阅读 · 0 评论 -
学渣带你刷Leetcode192. 统计词频
题目描述写一个 bash 脚本以统计一个文本文件words.txt中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和' '。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排列):the 4is 3sunny 2day 1说明:不要担心词频相同的单词的排序问题,每个单...原创 2020-08-22 21:04:45 · 244 阅读 · 0 评论 -
学渣带你刷Leetcode191. 位1的个数
题目描述编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000000000000000000010000000..原创 2020-08-21 21:55:35 · 203 阅读 · 0 评论 -
学渣带你刷190. 颠倒二进制位
题目描述颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, 因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。示例 2:输入:111111...原创 2020-08-19 13:15:24 · 179 阅读 · 0 评论 -
学渣带你刷189. 旋转数组
题目描述给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2:输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释:向右旋转 1 步: [99,-1,-...原创 2020-08-19 13:15:03 · 104 阅读 · 0 评论 -
学渣带你刷188. 买卖股票的最佳时机 IV
题目描述给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: [2,4,1], k = 2输出: 2解释: 在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。示例 2:输入: [3,2,6,5,0,3], k = 2输出..原创 2020-08-19 13:14:41 · 151 阅读 · 0 评论 -
学渣带你刷187. 重复的DNA序列
题目描述所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。示例:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC", "CCCCCAAAAA"]来源:力扣(LeetCode)链接:https://leetco原创 2020-08-19 13:14:18 · 210 阅读 · 0 评论 -
【待解锁】学渣带你刷Leetcode186.翻转字符串里的单词II
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码原创 2020-08-19 13:13:53 · 163 阅读 · 0 评论 -
学渣带你刷185. 部门工资前三高的所有员工
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码原创 2020-08-19 13:11:00 · 147 阅读 · 0 评论 -
学渣带你刷Leetcode184. 部门工资最高的员工
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码原创 2020-08-19 12:01:37 · 159 阅读 · 0 评论 -
学渣带你刷Leetcode183. 从不订购的客户
题目描述白话题目:算法:详细解释关注 B站【C语言全代码】学渣带你刷Leetcode 不走丢https://www.bilibili.com/video/BV1C7411y7gBC语言完全代码原创 2020-08-19 12:00:01 · 128 阅读 · 0 评论