
letcode
lst0426
埋骨何须桑梓地,人生无处不青山。
展开
-
使用Vscode运行leetcode需要插件
VS Marketplace 链接: https://marketplace.visualstudio.com/items?VS Marketplace 链接: https://marketplace.visualstudio.com/items?说明: C/C++ IntelliSense, debugging, and code browsing.名称: Fitten Code: Faster and Better AI Assistant。发布者: 力扣 LeetCode。原创 2024-05-19 21:25:46 · 351 阅读 · 0 评论 -
[80] 删除有序数组中的重复项 II
如果保持原始顺序很重要,可能需要采用更复杂的方法,如使用哈希表来记录每个元素的出现次数,并在达到限制后避免加入更多的同一元素。这段代码的目的是从一个已排序数组中移除多余的重复项,确保每个元素最多只出现两次,并返回处理后数组的新长度。这段代码中,主要通过一个循环来检查每个元素,并与新数组中倒数第二个元素比较,只有当它与倒数第二个元素不同时,才将其加入新数组。如果要修改这个函数,以允许数组中的每个元素可以重复出现最多三次,我们只需要调整一下用来比较元素的索引条件。是新数组的长度,也是处理后数组中元素的个数。原创 2024-05-19 20:55:48 · 183 阅读 · 0 评论 -
[26] 删除有序数组中的重复项
【代码】[26] 删除有序数组中的重复项。原创 2024-05-19 17:13:05 · 163 阅读 · 0 评论 -
【[21] 合并两个有序链表】
这段代码的时间复杂度为 O(n + m),其中 n 和 m 分别是输入链表 list1 和 list2 的长度,因为每个节点只会被访问一次。创建一个哑节点(dummy)作为合并后链表的头部,并创建一个指针 tail 指向 dummy,同时初始化为0。使用 while 循环遍历两个输入链表 list1 和 list2,进行合并操作,直到其中一个链表为空。这段代码是一个经典的链表合并算法,用于合并两个已排序的链表。最后,获取合并后链表的头部节点,删除哑节点,返回合并后的链表。原创 2024-05-19 11:46:20 · 220 阅读 · 0 评论 -
【[20] 有效的括号】
在这个改写的版本中,我们用连串的if和else if语句来识别并处理开括号和闭括号,而忽略了所有非括号的字符。每遇到一个开括号就压入栈中,每遇到一个闭括号就检查是否与栈顶的开括号匹配,匹配则继续处理,不匹配则验证失败。如果需要该代码片段正确处理这种包含非括号字符的字符串,我们需要对原有代码进行一些简单修改,忽略非括号字符。为了将给定的代码转换为C++98的版本(因为C++11引入了基于范围的for循环和auto类型推断等特性),我们需要替换基于范围的for循环并适当修改代码风格。原创 2024-05-19 11:06:45 · 309 阅读 · 0 评论 -
这代码给出解释
这代码给出解释。原创 2024-05-10 14:17:40 · 337 阅读 · 0 评论 -
反转链表1
这段代码通过遍历原始链表,将每个节点的next指针指向它的前一个节点,从而实现了链表的就地反转。在遍历结束时,prev将指向原始链表的最后一个节点,它成为反转后的链表的头节点。您在循环中为每个节点重新分配内存,这实际上是在创建原始链表的深拷贝的反转版本,而不是就地反转链表。没有释放原始链表的内存,如果意图是创建新的链表副本,则应该有相应的机制来管理旧链表的内存,以避免内存泄漏。start指针被初始化为一个新分配的节点,这会导致在返回的链表开头有一个额外的未使用的节点。原创 2024-04-03 22:34:11 · 450 阅读 · 0 评论 -
使用Vscode编译运行和调试C/C++及体验优化
【代码】使用Vscode编译运行和调试C/C++及体验优化。原创 2024-04-01 22:44:09 · 204 阅读 · 0 评论 -
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。
给定一个字符串 s ,请你找出其中不含有重复字符的 最长。原创 2024-03-31 23:33:18 · 181 阅读 · 0 评论 -
返回一个表示和的链表
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。请你将两个数相加,并以相同形式返回一个表示和的链表。原创 2024-03-31 22:56:08 · 224 阅读 · 0 评论 -
最长公共前缀
难度简单2245编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:1 <= strs.length <= 200 0 <= strs[i].length <= 200 s...原创 2022-05-18 18:00:08 · 198 阅读 · 0 评论 -
13. 罗马数字转整数
难度简单1881罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字2写做II,即为两个并列的 1 。12写做XII,即为X+II。27写做XXVII, 即...原创 2022-05-17 21:25:09 · 161 阅读 · 0 评论 -
12. 整数转罗马数字
难度中等878罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为...原创 2022-05-17 18:38:56 · 278 阅读 · 0 评论 -
盛最多水的容器
难度中等3493给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。class Solution {public: int maxArea(vector<int>& height) { }};...原创 2022-05-17 16:10:58 · 298 阅读 · 0 评论 -
10. 正则表达式匹配
10. 正则表达式匹配难度困难2981给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.'匹配任意单个字符 '*'匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。示例 1:输入:s = "aa", p = "a"输出:false解释:"a" 无法匹配 "aa" 整个字符串。示例 2:输入:s = "aa", p = "a*"输出:true解释:因为 '*' 代表可...原创 2022-05-16 20:07:53 · 317 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字难度简单838找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000class Solution {public: int fi原创 2022-05-15 14:27:55 · 388 阅读 · 0 评论 -
9. 回文数
难度简单2004给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读...原创 2022-05-14 16:34:47 · 284 阅读 · 0 评论 -
剑指 Offer 67. 把字符串转换成整数
写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。注意:假如该字符..原创 2022-05-14 11:46:36 · 314 阅读 · 0 评论 -
leetcode 7 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−231,231− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321来源:力扣(LeetCode)链接:https://leetcode.cn/problems/reverse-integer著作权归领扣网络所有。商业转载请联系官...原创 2022-05-13 19:36:19 · 938 阅读 · 0 评论 -
给你一个字符串 s,找到 s 中最长的回文子串。
给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"来源:力扣(LeetCode)链接:https://leetcode.cn/problems/longest-palindromic-substring著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution {public:原创 2022-05-13 18:52:12 · 1231 阅读 · 0 评论 -
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]来源:力扣(LeetCode)链接:https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请...原创 2022-05-13 16:32:50 · 809 阅读 · 0 评论 -
leetcode3
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。class Solution {public: int lengthOfLongestSubstring(string s) { int * p,*q; //p=s,q=s; for(int i=0;i<s.size();i++){ for(int j=i+1;j<s.size();j++){ if(s[j]...原创 2022-05-11 19:15:28 · 228 阅读 · 0 评论 -
letcode,1
vector<int> twoSum(vector<int>& nums, int target) { int sum; map <int,int> m; vector<int> v; for(int i=0;i<nums.size();i++) { int find=.原创 2022-05-11 13:44:17 · 88 阅读 · 0 评论 -
21. 合并两个有序链表
21. 合并两个有序链表难度简单1983将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是[0, 50] -100 <= Node.v...原创 2021-10-27 13:56:13 · 230 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/19. 删除链表的倒数第 N 个结点难度中等1625给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:..原创 2021-10-26 16:44:52 · 237 阅读 · 0 评论 -
1. 两数之和
1. 两数之和难度简单12362收藏分享切换为英文接收动态反馈给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0...原创 2021-10-17 16:19:44 · 191 阅读 · 0 评论