- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 3. 无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是
2022-05-19 10:01:33 140
原创 462. 最少移动次数使数组元素相等 II 图解 c++
给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。示例 1:输入:nums = [1,2,3]输出:2解释:只需要两步操作(每步操作指南使一个元素加 1 或减 1):[1,2,3] => [2,2,3] => [2,2,2]示例 2:输入:nums = [1,10,2,9]输出:16提示:n == nums.length1 <= nums.length
2022-05-19 02:25:25 346 1
原创 668. 乘法表中第k小的数
668. 乘法表中第k小的数几乎每一个人都用 乘法表。但是你能在乘法表中快速找到第k小的数字吗?给定高度m 、宽度n 的一张 m * n的乘法表,以及正整数k,你需要返回表中第k 小的数字。例 1:输入: m = 3, n = 3, k = 5输出: 3解释: 乘法表:1 2 32 4 63 6 9第5小的数字是 3 (1, 2, 2, 3, 3).例 2:输入: m = 2, n = 3, k = 6输出: 6解释:乘法表:1 2 32 4 6第6小的数字是
2022-05-18 08:07:45 169
原创 1626. 无矛盾的最佳球队
1626. 无矛盾的最佳球队假设你是球队的经理。对于即将到来的锦标赛,你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和 。然而,球队中的矛盾会限制球员的发挥,所以必须选出一支 没有矛盾 的球队。如果一名年龄较小球员的分数 严格大于 一名年龄较大的球员,则存在矛盾。同龄球员之间不会发生矛盾。给你两个列表 scores 和 ages,其中每组 scores[i] 和 ages[i] 表示第 i 名球员的分数和年龄。请你返回 所有可能的无矛盾球队中得分最高那支的分数 。示例 1:
2022-05-15 20:31:09 264
原创 面试题 05.06. 整数转换 c++题解
面试题 05.06. 整数转换整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。示例1:输入:A = 29 (或者0b11101), B = 15(或者0b01111)输出:2示例2:输入:A = 1,B = 2输出:2提示:A,B范围在[-2147483648, 2147483647]之间原题链接这里有个难点是如何处理负数。在C++中如果我们右移一个负整数,系统会自动在最高位补1,这样会导致 c 永远不为0,就死循环了。解决办法是把 c 强制转化成无符号整型,这
2022-05-14 11:19:14 374
原创 1154. 一年中的第几天
1154. 一年中的第几天给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。示例 1:输入:date = “2019-01-09”输出:9解释:给定日期是2019年的第九天。示例 2:-输入:date = “2019-02-10”输出:41class Solution {public: int dayOfYear(string date) { int m[] ={0,31,28,31,30,31,3
2022-05-13 20:34:05 120
原创 2165. 重排数字的最小值
2165. 重排数字的最小值给你一个整数 num 。重排 num 中的各位数字,使其值 最小化 且不含 任何 前导零。返回不含前导零且值最小的重排数字。注意,重排各位数字后,num 的符号不会改变。示例 1:输入:num = 310输出:103解释:310 中各位数字的可行排列有:013、031、103、130、301、310 。不含任何前导零且值最小的重排数字是 103 。示例 2:输入:num = -7605输出:-7650解释:-7605 中各位数字的部分可行排列为:-765
2022-05-13 15:31:13 290
原创 面试题 01.05. 一次编辑
面试题 01.05. 一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入:first = “pale”second = “ple”输出: True示例 2:输入:first = “pales”second = “pal”输出: False思路:双指针的精髓就是两个指针(不一定是指针,说的 是带有指针特性的变量,这里说的是广泛的概念)指向不同的数组元素,适合算法刚入门的同学来刷
2022-05-13 10:30:51 60
原创 814. 二叉树剪枝
814. 二叉树剪枝给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。返回移除了所有不包含 1 的子树的原二叉树。节点 node 的子树为 node 本身加上所有 node 的后代。水题/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode
2022-05-12 18:43:49 150
原创 LCP 06. 拿硬币
LCP 06. 拿硬币桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。示例 1:输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。示例 2:输入:[2,3,10]输出:8限制:1 <= n <= 41 <= coins[i] <= 10新手题class Solution {pub
2022-05-12 18:33:03 88
原创 1124. 表现良好的最长时间段 c++
1124. 表现良好的最长时间段给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。请你返回「表现良好时间段」的最大长度。示例 1:输入:hours = [9,9,6,0,6,6,9]输出:3解释:最长的表现良好时间段是 [9,9,6]。示例 2:输入:hours = [6,6,6]输出:0提
2022-05-11 23:50:22 188
原创 1807. 替换字符串中的括号内容 题解
1807. 替换字符串中的括号内容 题解给你一个字符串 s ,它包含一些括号对,每个括号中包含一个 非空 的键。比方说,字符串 “(name)is(age)yearsold” 中,有 两个 括号对,分别包含键 “name” 和 “age” 。你知道许多键对应的值,这些关系由二维字符串数组 knowledge 表示,其中 knowledge[i] = [keyi, valuei] ,表示键 keyi 对应的值为 valuei 。你需要替换 所有 的括号对。当你替换一个括号对,且它包含的键为 keyi
2022-05-11 00:08:05 181
原创 168. Excel表列名称 题解
168. Excel表列名称 题解给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。例如:A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入:columnNumber = 1输出:"A"示例 2:输入:columnNumber = 28输出:"AB"示例 3:输入:columnNumber = 701输出:"ZY"示例 4:输入
2022-05-10 15:54:29 410
原创 2. 两数相加
2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9],
2022-05-07 23:43:39 65
原创 面试题 10.09. 排序矩阵查找 题解
面试题 10.09. 排序矩阵查找 题解给定M×N矩阵,每一行、每一列都按升序排列,请编写代码找出某元素。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 target = 20,返回 false。原题链接题解
2022-05-06 18:43:00 236
原创 2248. 多个数组求交集 题解
2248. 多个数组求交集 题解给你一个二维整数数组 nums ,其中 nums[i] 是由 不同 正整数组成的一个非空数组,按 升序排列 返回一个数组,数组中的每个元素在 nums 所有数组 中都出现过。示例 1:输入:nums = [[3,1,2,4,5],[1,2,3,4],[3,4,5,6]]输出:[3,4]解释:nums[0] = [3,1,2,4,5],nums[1] = [1,2,3,4],nums[2] = [3,4,5,6],在 nums 中每个数组中都出现的数字是 3 和 4
2022-05-06 08:43:38 208
原创 1291. 顺次数 题解
1291. 顺次数 题解我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 1 的整数。请你返回由 [low, high] 范围内所有顺次数组成的 有序 列表(从小到大排序)。示例 1:输出:low = 100, high = 300输出:[123,234]示例 2:输出:low = 1000, high = 13000输出:[1234,2345,3456,4567,5678,6789,12345]提示:10 <= low <= high <= 10^9解
2022-05-05 16:17:46 753 1
原创 leetcode每日一题题解
leetcode每日一题题解713. 乘积小于 K 的子数组933. 最近的请求次数433. 最小基因变化442. 数组中重复的数据
2022-05-05 15:56:42 723 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人