
LeetCode
文章平均质量分 74
力扣专栏
全干工程师—
纸上得来终觉浅,绝知此事要躬行。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode-16.最接近的三数之和 C++实现
给你一个长度为n的整数数组nums和 一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解2与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。0与 target 最接近的和是 0(0 + 0 + 0 = 0)。原创 2025-04-16 11:10:14 · 595 阅读 · 0 评论 -
LeetCode-15.三数之和 C++实现
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。原创 2025-04-10 10:30:39 · 956 阅读 · 0 评论 -
LeetCode-14.最长公共前缀 C++实现
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。"fl"" "输入不存在公共前缀。原创 2025-04-09 10:10:49 · 224 阅读 · 0 评论 -
LeetCode-13.罗马数字转整数 C++实现
罗马数字包含以下七种字符:IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的 1。12写做XII,即为XII。27写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为IX。I可以放在V(5) 和X(10) 的左边,来表示 4 和 9。X可以放在L(50) 和C。原创 2025-04-08 10:15:39 · 2082 阅读 · 0 评论 -
LeetCode-12.整数转罗马数字 C++实现
比如,先处理最大的可能值,比如1000对应的M,然后是900(CM),500(D),400(CD),依此类推,直到1(I)。如果该值不是以 4 或 9 开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将其余部分转换为罗马数字。1. 创建两个vector数组或者一个pair数组,里面按从大到小的顺序排列数值和对应的罗马符号,包括那些特殊的组合。a. 当当前的数值小于等于剩下的num时,将对应的罗马符号添加到结果中,并减去该数值。给定一个整数,将其转换为罗马数字。原创 2025-04-07 09:44:21 · 524 阅读 · 0 评论 -
LeetCode-11.盛最多水的容器 C++实现
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。原创 2025-04-01 09:18:55 · 601 阅读 · 0 评论 -
LeetCode-9.回文数 C++实现
给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。121123x = 121truex = -121false从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。x = 10false从右向左读, 为 01。因此它不是一个回文数。原创 2025-03-31 10:17:40 · 473 阅读 · 0 评论 -
LeetCode-8.字符串转换整数 C++实现
请你来实现一个函数,使其能将字符串转换成一个 32 位有符号整数。函数读入字符串并丢弃无用的前导空格(" "检查下一个字符(假设还未到字符末尾)为'-'还是'+'。如果两者都不存在,则假定结果为正。通过跳过前置零来读取该整数,直到遇到非数字字符或到达字符串的结尾。如果没有读取数字,则结果为0。如果整数数超过 32 位有符号整数范围,需要截断这个整数,使其保持在这个范围内。具体来说,小于−231的整数应该被舍入为−231,大于231 − 1的整数应该被舍入为231 − 1。返回整数作为最终结果。原创 2025-03-31 09:55:53 · 730 阅读 · 0 评论 -
LeetCode-7.整数反转 C++实现
给你一个 32 位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围,就返回 0。原创 2025-03-30 11:39:07 · 448 阅读 · 0 评论 -
LeetCode-6.Z字变换
将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为行数为3时,排列如下:。请你实现这个将字符串进行指定行数变换的函数:Y A H RP I"A"原创 2025-03-28 10:39:38 · 1948 阅读 · 0 评论 -
LeetCode-5.最长回文子串 C++实现
给你一个字符串s,找到s中最长的回文子串(如果字符串向前和向后读都相同,则它满足。"bab""aba" 同样是符合题意的答案。s = "cbbd""bb"仅由数字和英文字母组成。原创 2025-03-25 14:24:13 · 643 阅读 · 0 评论 -
LeetCode-4.寻找两个正序数组的中位数 C++实现
给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的。算法的时间复杂度应该为。2.00000合并数组 = [1,2,3] ,中位数 22.50000合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。原创 2025-03-25 10:40:13 · 756 阅读 · 0 评论 -
LeetCode-3.无重复的最长字串 C++实现
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke" 是一个子序列,不是子串。原创 2025-03-27 10:02:00 · 810 阅读 · 0 评论 -
LeetCode-2.两数相加 C++实现
通常,处理链表相加的问题,可以模拟竖式加法的方式,逐位相加,同时处理进位。因为链表已经是逆序存储的,所以可以直接从头节点开始相加,这样每一位对齐,方便处理。- 最后还有进位的情况,例如999 + 1 = 1000,这时候需要在结果链表中添加一个额外的节点。4. 每次取出两个链表当前节点的值(如果存在),加上进位jinwei,计算当前位的总和temp。- 两个链表长度不同,例如一个链表比另一个长,这时候要继续处理较长的链表剩下的节点。9.循环结束后,返回哑节点的下一个节点作为结果链表的头节点。原创 2025-03-26 09:36:19 · 435 阅读 · 0 评论 -
LeetCode-1.两数之和 C++实现
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]原创 2025-03-25 09:25:38 · 291 阅读 · 0 评论