![](https://img-blog.csdnimg.cn/20210111224533606.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode 腾讯精选练习 50 题
文章平均质量分 87
正规军
黄元帅
努力做好一件事
展开
-
腾讯精选练习50题索引
LeetCode 腾讯精选练习 50 题 索引目录原创 2021-02-05 00:05:47 · 187 阅读 · 0 评论 -
【Task17】LeetCode腾讯精选打卡
一、No0344. 反转字符串题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例1输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例2输入:[“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“原创 2021-01-29 22:19:39 · 173 阅读 · 0 评论 -
【Task16】LeetCode腾讯精选打卡
一、No0237. 删除链表中的节点题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 – head = [4,5,1,9],它可以表示为:示例1输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例2输入:head = [4,5,1,9], node = 1输出:[4,原创 2021-01-29 00:01:24 · 125 阅读 · 1 评论 -
【Task15】LeetCode腾讯精选打卡
一、No0231. 2的幂题目给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例1输入: 1输出: true解释: 20 = 1示例2输入: 16输出: true解释: 24 = 16示例3输入: 218输出: false思路若小于等于0,返回False;否则对n进行迭代,循环条件为n为偶数,循环体内部对n进行除2操作;循环外需要判断一下n是否为1,若为1则表明符合条件,返回True;否则返回False。解题代码(Python3)class S原创 2021-01-27 22:07:17 · 149 阅读 · 0 评论 -
【Task14】LeetCode腾讯精选打卡
一、No0215. 数组中的第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 ≤ 数组的长度。思路排序,默认是升序利用Python索引的特性返回解题代码(Python3)class So原创 2021-01-26 20:09:54 · 134 阅读 · 1 评论 -
【Task13】LeetCode腾讯精选打卡
一、No0146. LRU 缓存机制题目运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存原创 2021-01-25 23:40:10 · 103 阅读 · 0 评论 -
【Task12】LeetCode腾讯精选打卡
一、No0146. LRU 缓存机制题目运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存原创 2021-01-23 23:43:08 · 113 阅读 · 0 评论 -
【Task11】LeetCode腾讯精选打卡
一、No0136. 只出现一次的数字题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例1输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在原创 2021-01-22 23:17:56 · 139 阅读 · 0 评论 -
【Task10】LeetCode腾讯精选打卡
一、No0121. 买卖股票的最佳时机题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例1输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能原创 2021-01-21 23:21:43 · 241 阅读 · 3 评论 -
【Task09】LeetCode腾讯精选打卡
一、No0088.题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例1输入:m = 3, n = 7输出:28示例2输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向右 -> 向下 -> 向右向下原创 2021-01-20 23:18:59 · 164 阅读 · 0 评论 -
【Task08】LeetCode腾讯精选打卡
一、No0062. 不同路径题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例1输入:m = 3, n = 7输出:28示例2输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向右 -> 向下 -> 向原创 2021-01-19 21:07:45 · 170 阅读 · 0 评论 -
【Task07】LeetCode腾讯精选打卡
一、No0054. 合并K个升序链表题目给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7]解题代码(Python3)cla原创 2021-01-18 22:45:50 · 288 阅读 · 1 评论 -
【Task06】LeetCode腾讯精选打卡
一、No0043. 合并K个升序链表题目给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例1输入: num1 = “2”, num2 = “3”输出: “6”示例2输入: num1 = “123”, num2 = “456”输出: “56088”说明num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。原创 2021-01-17 23:55:13 · 239 阅读 · 3 评论 -
【Task05】LeetCode腾讯精选打卡
一、No0023. 合并K个升序链表题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示3 <= nums.length <= 10^3-10^3 <= nums[i] &原创 2021-01-16 20:30:02 · 174 阅读 · 0 评论 -
【Task04】LeetCode腾讯精选打卡
一、No0016. 最接近的三数之和题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示3 <= nums.length <= 10^3-10^3 <= nums[i] &原创 2021-01-16 01:16:52 · 172 阅读 · 0 评论 -
【Task03】LeetCode腾讯精选打卡
一、No0011. 两数相加题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49原创 2021-01-14 01:07:00 · 177 阅读 · 0 评论 -
【Task02】LeetCode腾讯精选打卡
一、No0007. 两数相加题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例 1输入:x = 123输出:321示例 2输入:x = -123输出:-321示例 3输入:x = 120输出:21示例 4输入:x = 0输出:0提示-231 <= x <=原创 2021-01-12 22:31:42 · 147 阅读 · 0 评论 -
【Task01】LeetCode腾讯精选打卡
一、No0002. 两数相加题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807示例 2输入:l1 = [0], l2 = [0]输出:[0]示例 3输入:l1 = [9原创 2021-01-11 23:50:51 · 210 阅读 · 0 评论