Leetcode每日打卡_每日一道
文章平均质量分 60
争取一直打卡到毕业吧
Rocoberry_团子
慢慢来慢慢来
展开
-
Leetcode69 x的平方根
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5。解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。给你一个非负整数 x ,计算并返回 x 的 算术平方根。原创 2023-12-13 23:03:32 · 488 阅读 · 0 评论 -
Leetcode221 最大正方形
在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到。原创 2023-12-13 22:48:35 · 443 阅读 · 0 评论 -
Leetcode143 重排链表
不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。原创 2023-12-12 21:59:58 · 391 阅读 · 0 评论 -
Leetcode415 字符串相加
你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。给定两个字符串形式的非负整数。,计算它们的和并同样。原创 2023-12-11 15:20:22 · 436 阅读 · 0 评论 -
Leetcode93 复原IP地址
例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。,这些地址可以通过在 s 中插入 ‘.’ 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。的字符串 s ,用以表示一个 IP 地址,返回。原创 2023-12-11 14:49:01 · 415 阅读 · 0 评论 -
Leetcode 92 反转链表II
【代码】Leetcode 92 反转链表II。原创 2023-12-06 09:51:56 · 444 阅读 · 0 评论 -
Leetcode103 二叉树的锯齿形层序遍历
(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。原创 2023-11-25 10:01:16 · 621 阅读 · 0 评论 -
Leetcode88 合并两个有序数组
注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。注意:最终,合并后数组不应由函数返回,而是存储在数组。解释:需要合并 [1,2,3] 和 [2,5,6]。中,使合并后的数组同样按 非递减顺序 排列。解释:需要合并的数组是 [] 和 [1]。解释:需要合并 [1] 和 []。个元素表示应合并的元素,后。合并结果是 [1]。原创 2023-11-16 20:21:26 · 149 阅读 · 0 评论 -
Leetcode 44 通配符匹配
给你一个输入字符串 (s) 和一个字符模式 § ,请你实现一个支持 ‘?原创 2023-08-28 20:22:42 · 180 阅读 · 0 评论 -
Leetcode 43 字符串相乘
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。的乘积,它们的乘积也表示为字符串形式。给定两个以字符串形式表示的非负整数。来源:力扣(LeetCode)库或直接将输入转换为整数。注意:不能使用任何内置的。原创 2023-07-14 12:09:01 · 198 阅读 · 0 评论 -
Leetcode 42 接雨水
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。来源:力扣(LeetCode)个非负整数表示每个宽度为。原创 2023-05-09 21:45:27 · 821 阅读 · 0 评论 -
Leetcode 41 缺失的第一个正数
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。,请你找出其中没有出现的最小的正整数。并且只使用常数级别额外空间的解决方案。来源:力扣(LeetCode)给你一个未排序的整数数组。请你实现时间复杂度为。原创 2023-04-30 16:58:25 · 147 阅读 · 0 评论 -
Leetcode 40 组合总和 II
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。中的每个数字在每个组合中只能使用 一次。注意:解集不能包含重复的组合。来源:力扣(LeetCode)给定一个候选人编号的集合。中所有可以使数字和为。原创 2023-04-30 10:33:37 · 48 阅读 · 0 评论 -
Leetcode 39 组合总和
中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。不同组合 ,并以列表形式返回。给你一个 无重复元素 的整数数组。来源:力扣(LeetCode)中可以使数字和为目标数。对于给定的输入,保证和为。原创 2023-04-27 16:25:20 · 41 阅读 · 0 评论 -
Leetcode 38 外观数列
外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源:力扣(LeetCode)原创 2023-04-27 12:58:39 · 34 阅读 · 0 评论 -
Leetcode 37 解数独
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。编写一个程序,通过填充空格来解决数独问题。来源:力扣(LeetCode)原创 2023-04-26 10:28:48 · 124 阅读 · 0 评论 -
Leetcode 36 有效的数独
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。,验证已经填入的数字是否有效即可。来源:力扣(LeetCode)原创 2023-04-17 15:30:57 · 36 阅读 · 0 评论 -
Leetcode 35 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源:力扣(LeetCode)请必须使用时间复杂度为。原创 2023-04-16 08:52:40 · 26 阅读 · 0 评论 -
Leetcode 34 在排序数组中查找元素的第一个和最后一个位置
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。请你找出给定目标值在数组中的开始位置和结束位置。给你一个按照非递减顺序排列的整数数组。你必须设计并实现时间复杂度为。来源:力扣(LeetCode)如果数组中不存在目标值。原创 2023-04-15 08:53:30 · 106 阅读 · 1 评论 -
Leetcode 33 搜索旋转排序数组
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。在下标 3 处经旋转后可能变为。,则返回它的下标,否则返回。来源:力扣(LeetCode)上进行了 旋转,使数组变为。你必须设计一个时间复杂度为。按升序排列,数组中的值。在预先未知的某个下标。原创 2023-04-14 10:06:46 · 44 阅读 · 0 评论 -
Leetcode 32 最长的有效括号
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。的字符串,找出最长有效(格式正确且连续)括号子串的长度。来源:力扣(LeetCode)原创 2023-04-13 16:12:28 · 27 阅读 · 0 评论 -
Leetcode 31 下一个排列
例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。商业转载请联系官方授权,非商业转载请注明出处。修改,只允许使用额外常数空间。不存在一个字典序更大的排列。原创 2023-04-12 15:55:47 · 30 阅读 · 0 评论 -
Leetcode 30 串联所有单词的子串
链接:https://leetcode.cn/problems/substring-with-concatenation-of-all-words。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。中所有字符串以任意顺序排列连接起来的子串。s 中的 串联子串 是指一个包含。不是串联子串,因为他不是任何。来源:力扣(LeetCode)来源:力扣(LeetCode)中所有字符串 长度相同。效果真是不怎么样 T T。原创 2023-04-11 21:50:23 · 45 阅读 · 0 评论 -
Leetcode 29 两数相除
Leetcode两数相除题目描述题解题解一(基于快速乘法思想)题解二(二分思想+快速乘法)题目描述给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2来源:力扣(LeetCode)题目链接著作权归领扣网络所有。商业转载请原创 2021-05-27 15:21:19 · 277 阅读 · 0 评论 -
Leetcode 28 实现strStr()
Leetcode 28 实现strStr题目描述题解1(find)题解2(KMP)题解3(Sunday:参考)题目描述题解1(find)class Solution {public: int strStr(string haystack, string needle) { return haystack.find(needle); }};题解2(KMP)class Solution {private: vector<int> nextj原创 2021-02-20 21:50:30 · 66 阅读 · 0 评论 -
Leetcode 27 移出元素
Leetcode 27 移出元素题目描述题解1(erase删除)题解2(双指针1)题解3(双指针2)题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)题目链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解1(erase删除)c原创 2021-02-19 10:09:29 · 76 阅读 · 0 评论 -
Leetcode 26 删除排序数组中的重复项
Leetcode 26 删除排序数组中的重复项题目描述题解1(迭代器)题解2(双指针)题解3(unique函数)题目描述给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCode)题目链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解1(迭代器)class Solution {public:原创 2021-02-18 10:16:14 · 67 阅读 · 0 评论 -
Leetcode 25 K个一组翻转链表
Leetcode 25 K个一组翻转链表题目描述题解1(栈)题解2(递归)题目描述给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。来源:力扣(LeetCode)题目链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。/** * Definition for singly-linked list. * struct ListNode { *原创 2021-02-13 16:22:32 · 115 阅读 · 1 评论 -
Leetcode 24 两两交换链表中的节点
Leetcode 24 两两交换链表中的节点题目描述题解1(只交换值)题解2(交换节点)题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr)原创 2021-02-11 11:45:36 · 240 阅读 · 1 评论 -
Leetcode 23 合并K个升序链表
Leetcode 23 合并K个升序链表题目描述题解1(优先队列:参考)题解2(普通merge)题解3(归并:参考)题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt原创 2021-02-10 11:53:54 · 137 阅读 · 1 评论 -
Leetcode 22 括号生成
Leetcode 22 括号生成题目描述题解1(暴力回溯:子集树)题解2(利用open,close,增加条件缩短排列树时间)题解3(dp:参考)题目描述题解1(暴力回溯:子集树)//效率极差class Solution {private: unordered_map<char, char> hash = { {')', '('}, }; int n_; string s = ""; vector<string> tak原创 2021-02-05 12:20:17 · 110 阅读 · 0 评论 -
Leetcode 21 合并两个有序链表
Leetcode 21 合并两个有序链表题目描述题解1(比较直接,参考归并排序最后的步骤)题解2(改进后两个循环,只改了写法,时空没变)题解3(递归)题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(原创 2021-02-02 13:13:16 · 86 阅读 · 0 评论 -
Leetcode 20 有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。左括号必须用相同类型的右括号闭合。来源:力扣(LeetCode)左括号必须以正确的顺序闭合。原创 2021-02-01 09:03:43 · 75 阅读 · 1 评论 -
Leetcode 19 删除链表的倒数第N个结点
Leetcode 19 删除链表的倒数第N个结点题目描述题解1(暴力)题解2(小tips)题解3(栈)题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {}原创 2021-01-31 11:26:33 · 52 阅读 · 0 评论 -
Leetcode 18 四数之和
Leetcode 18 四数之和题目描述题解1(回溯:子集树)题解2(指针法,参照三数之和)题目描述题解1(回溯:子集树)class Solution {private: vector<int> c_nums, temp; vector<vector<int>>finals; int n_len; int c_tar; void backtrace(int p, int sum){ int t_len = t原创 2021-01-30 10:18:32 · 73 阅读 · 0 评论 -
Leetcode 17 电话号码的字母组合
Leetcode 17 电话号码的字母组合题目描述题解1(回溯:排列树)题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。题解1(回溯:排列树)class Solution {private: string temp = ""; unordered_map<int, string> hash = {{2,"abc"},{3,"def"},{4,"ghi"},{5,"jkl"原创 2021-01-29 10:36:10 · 50 阅读 · 0 评论 -
Leetcode 16 最接近的三数之和
Leetcode 16 最接近的三数之和题目描述题解1(暴力双指针)题目描述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。来源:力扣(LeetCode)题目链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解1(暴力双指针)class Solution {public: int threeSumClosest(vector&原创 2021-01-28 09:33:46 · 57 阅读 · 0 评论 -
Leetcode 15 三数之和
Leetcode 15 三数之和题目描述题解1(暴力双指针)题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。来源:力扣(LeetCode)题目链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解1(暴力双指针)//注意防重class Solution {public: vector<vect原创 2021-01-27 15:31:10 · 55 阅读 · 0 评论 -
Leetcode 14 最长公共前缀
Leetcode 14 最长公共前缀题目描述题解1(字符串排序)题解2(横向比较)题解3(纵向比较,注意越界)题解4(大神的排序代码)题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。题解1(字符串排序)class Solution {public: string longestCommonPrefix(vector<string>& strs) { if(strs.empty())原创 2021-01-25 09:47:40 · 155 阅读 · 0 评论 -
Leetcode 13 罗马数字转整数
Leetcode 13 罗马数字转整数题目描述题解1(hashmap)题解2(利用特征比较)题解3(switch)题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小原创 2021-01-24 10:03:10 · 53 阅读 · 0 评论