LeetCode
小王子y
互关啊!!
展开
-
Leedcode19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。输出:[1,2,3,5]原创 2023-08-30 22:36:31 · 256 阅读 · 0 评论 -
Leedcode 15三数之和
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]排序 + 双指针1、枚举每个数,表示该数nums[i]已被确定,在排序后的情原创 2022-03-21 01:29:11 · 259 阅读 · 1 评论 -
leedcode周赛 需要交语言的最少人数(两种写法)
在一个由 m 个用户组成的社交网络里,我们获取到一些用户之间的好友关系。两个用户之间可以相互沟通的条件是他们都掌握同一门语言。给你一个整数 n ,数组 languages 和数组 friendships ,它们的含义如下:总共有 n 种语言,编号从 1 到 n 。languages[i] 是第 i 位用户掌握的语言集合。friendships[i] = [ui, vi] 表示 ui 和 vi 为好友关系。你可以选择 一门 语言并教会一些原创 2021-01-24 02:11:27 · 142 阅读 · 0 评论 -
找到最高海拔(周赛)
有一个自行车手打算进行一场公路骑行,这条路线总共由 n + 1 个不同海拔的点组成。自行车手从海拔为 0 的点 0 开始骑行。给你一个长度为 n 的整数数组 gain ,其中 gain[i] 是点 i 和点 i + 1 的 净海拔高度差(0 <= i < n)。请你返回 最高点的海拔 。示例 1:输入:gain = [-5,1,5,0,-7]输出:1解释:海拔高度依次为 [0,-5,-4,1,1,-6] 。最高海拔为 1 class Solution {public:原创 2021-01-24 00:38:33 · 107 阅读 · 0 评论 -
LeetCode 14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。class Solution {public: string longestCommonPrefix(vector<string>& strs)原创 2020-12-01 16:24:25 · 95 阅读 · 0 评论 -
LeetCode 11. 盛最多水的容器(贪心)
题目描述给你 n 个非负整数 a1a1,a2a2,…,anan,每个数代表坐标中的一个点(ii, aiai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (ii, aiai) 和 (ii, 00)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,8,6,2,5,4,8,3,7原创 2020-11-30 16:37:59 · 170 阅读 · 0 评论 -
LeetCode 8. 字符串转换整数 (atoi)
请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有效整数字原创 2020-11-30 15:25:10 · 66 阅读 · 0 评论 -
leedcode7 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。C++中-321%10为-1!!也是负数class Solution {public: int reverse(int x) {原创 2020-11-29 21:56:31 · 68 阅读 · 0 评论 -
LeetCode 3. 无重复字符的最长子串(巧妙双指针解法)
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。算法(双指针扫原创 2020-11-13 23:55:37 · 217 阅读 · 0 评论 -
2. 两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807class Solution {public:ListNode*原创 2020-11-11 20:10:44 · 48 阅读 · 0 评论