
LeetCode-面试-算法
Henray2024
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode面试算法-力扣 122. 买卖股票的最佳时机 II
122. 买卖股票的最佳时机 II原创 2023-09-03 23:05:32 · 222 阅读 · 0 评论 -
LeetCode面试算法-力扣 121. 买卖股票的最佳时机
121. 买卖股票的最佳时机题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价...原创 2019-03-14 16:35:42 · 429 阅读 · 1 评论 -
LeetCode面试算法-力扣 88. 合并两个有序数组
88. 合并两个有序数组原创 2023-09-03 21:46:44 · 501 阅读 · 0 评论 -
LeetCode面试算法-力扣 605. 种花问题
给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。若当前位是0,判断下一位是否为0,若为0,则说明这个位置可以种花,并且继续跳两位;考虑是否跳到最后一位,即length-1,则必然可以种下,因为左面又为0,而右面没有数字;若当前位是1,则下一位必定是空位,且必然不能种花,因为左面已经有一朵花了,因此直接跳到下下位(i+2);若当前位是0,判断下一位是否为0,若为1,则说明下一位为1,且下下位为0,因此我们直接跳三步。原创 2023-06-14 23:39:31 · 238 阅读 · 0 评论 -
LeetCode面试算法-力扣 3. 无重复字符的最长子串
3. 无重复字符的最长子串题目描述 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 ...原创 2019-05-15 15:47:54 · 485 阅读 · 0 评论 -
LeetCode面试算法-力扣 11. 盛最多水的容器
题目描述 给你 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]。在此情况下,容器能够容纳水(表示为蓝色部分)的最...原创 2021-12-18 22:17:42 · 210 阅读 · 0 评论 -
LeetCode面试算法-力扣 455. 分发饼干
题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果 s[j]>= g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1: 输入: g = [1,2,3], s = [1,1] 输出: 1 解释: 你有三个孩子和两块小饼干...原创 2021-12-10 07:43:29 · 183 阅读 · 0 评论 -
LeetCode面试算法-力扣 409. 最长回文串
题目描述 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1: 输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。分析:遍历字符串并统计每个字母的个数,累计偶数项字母个数count,若有奇数项字母,flag为true,则count加1,若无奇数项字母,则...原创 2021-12-08 23:59:39 · 401 阅读 · 0 评论 -
LeetCode面试算法-力扣 133. 克隆图
题目描述 给你无向连通图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。邻接列表 是用于表示有限图的无序列表的集合。每个列表都描述了图中节点的邻居集。给定节点将始终是图中的第一个节点(值为 1)。你必须将给定节点的拷贝作为对克隆图的引用返回。示例...原创 2020-11-01 10:03:39 · 250 阅读 · 0 评论 -
LeetCode面试算法-力扣 582. 杀死进程
题目描述 给n个进程,每个进程都有一个独一无二的PID(进程编号)和它的PPID(父进程编号)。每一个进程只有一个父进程,但是每个进程可能会有一个或者多个孩子进程。它们形成的关系就像一个树状结构。只有一个进程的PPID是0,意味着这个进程没有父进程。所有的PID都会是唯一的正整数。我们用两个序列来表示这些进程,第一个序列包含所有进程的PID,第二个序列包含所有进程对应的PPID。现在给定这两个序列和一个PID表示你要杀死的进程,函数返回一个 PID序列,表示因为杀这个进程而导致的所有被杀掉的进程的..原创 2020-10-14 00:03:06 · 2462 阅读 · 0 评论 -
LeetCode面试算法-力扣 21. 合并两个有序链表
题目描述 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if (l1 == null &&...原创 2020-09-24 23:42:32 · 157 阅读 · 0 评论 -
LeetCode面试算法-力扣 820. 单词的压缩编码
题目描述 给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进行编码的最小字符串长度是多少呢?示例 1: 输入: words = ["time", "m...原创 2020-09-25 22:21:57 · 357 阅读 · 1 评论 -
LeetCode面试算法-力扣 198. 打家劫舍
题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1: 输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4...原创 2020-09-10 23:38:54 · 237 阅读 · 0 评论 -
LeetCode面试算法-力扣 28. 实现 strStr()
题目描述实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。说明:当 needle 是空字符串时,我们应当返回 0。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"...原创 2020-06-20 16:21:56 · 195 阅读 · 0 评论 -
LeetCode面试算法-力扣 151. 翻转字符串里的单词
151. 翻转字符串里的单词题目描述 给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1: 输入: "the sky is blue" 输出: "blue is sky the"示例 2: 输入...原创 2019-05-15 18:24:09 · 469 阅读 · 0 评论 -
LeetCode面试算法-力扣 20. 有效的括号
题目描述 给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。说明:注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:...原创 2020-02-08 10:35:44 · 261 阅读 · 0 评论 -
LeetCode面试算法-力扣 557. 反转字符串中的单词 III
557. 反转字符串中的单词 III题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。说明:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc"分...原创 2019-05-16 13:27:14 · 430 阅读 · 0 评论 -
LeetCode面试算法-力扣 929. 独特的电子邮件地址
929. 独特的电子邮件地址题目描述 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 [email protected]中,alice 是本地名称,而 leetcode.com 是域名。除了小写字母,这些电子邮件还可能包含 '.' 或 '+'。 ①如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名称中...原创 2019-05-16 12:54:04 · 794 阅读 · 0 评论 -
LeetCode面试算法-力扣 567. 字符串的排列
567. 字符串的排列题目描述 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。即判断第一个字符串的排列之一是否是第二个字符串的子串。说明:输入的字符串只包含小写字母,两个字符串的长度都在 [1, 10,000] 之间。示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 ...原创 2019-04-28 17:44:25 · 686 阅读 · 0 评论 -
LeetCode面试算法-力扣 14. 最长公共前缀
14. 最长公共前缀题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。说明:所有输入只包含小写字母 a-z 。示例 1: 输入: ["flower","flow","flight"] 输出: "fl"示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输...原创 2019-04-28 17:21:13 · 335 阅读 · 1 评论 -
LeetCode面试算法-力扣 136. 只出现一次的数字
136. 只出现一次的数字题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1: 输入: [2,2,1] 输出: 1示例 2: 输入: [4,1,2,1,2] 输出: 4分析:①使用ArrayList动态...原创 2019-04-26 12:58:13 · 463 阅读 · 0 评论