首页 > TAG信息列表 > Hot100

LeetCode Hot100

#1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,

leetcode-hot100-动态规划

文章目录 [5. 最长回文子串 - 力扣(LeetCode) (leetcode-cn.com)](https://leetcode-cn.com/problems/longest-palindromic-substring/)[647. 回文子串 - 力扣(LeetCode) (leetcode-cn.com)](https://leetcode-cn.com/problems/palindromic-substrings/)[10. 正则表达式匹配 -

LC287(hot100). 寻找重复数 (原地交换-中等)

LC287. 寻找重复数 题目:给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数思路:         想法①  字典,但是会耗费额外空间 不符合要求         想法② 原地交换             0  1  2  3  4  →  0  1  

【力扣】[热题HOT100] 438.找到字符串中所有的异位词

1、题目 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。 说明: 字母异位词指字母相同,但排列不同的字符串。 不考虑答案输出的顺序。 链接:https://leet

【力扣】[热题HOT100]416. 分割等和子集

1、题目 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 链接:https://leetcode-cn.com/problems/partition-equal-subset-sum/ 2、思路分析 1)动态规划 题目理解:一个非空正整数的数组nums, 从数组中挑出一些

【力扣】[力扣热题HOT100] 337.打家劫舍|||

1、题目 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个

LeetCode Hot100 ---- 二叉树专题

104. 二叉树的最大深度 根节点为第一层,经典必会。 class Solution: def maxDepth(self, root: TreeNode) -> int: if not root: return 0 return 1 + max([self.maxDepth(root.left), self.maxDepth(root.right)]) 94. 二叉树的中序遍历

【力扣】[热题HOT100] 322.零钱兑换

1、题目 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 链接:https://leetcode-cn.com/problems/coin-change/ 2、思路分析 动

leetcode hot100 - 148. 排序链表

148. 排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 思路一:递归 + 归并 思路参考:https://leetcode-cn.com/problems/sort-list/solution/sort-li

【力扣】[热题HOT100] 200. 岛屿数量

1、题目 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 链接:https://leetcode-cn.com/problems/number-of-islands

【力扣】[热题HOT100] 169.多数元素

1、题目 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。 链接:https://leetcode-cn.com

【力扣】[热题HOT100] 2.两数相加

1. 题目 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 链接:https://leetcode-cn.com/probl

【LeetCode-⭐Hot100】70. 爬楼梯

题目链接:https://leetcode-cn.com/problems/climbing-stairs/ 难度:简单 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 测试用例 示例 1: 输入: 2 输出: 2 解释: 有两种

【LeetCode-⭐Hot100】121. 买卖股票的最佳时机

题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 难度:简单 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个

【LeetCode-⭐Hot100】155. 最小栈

题目链接:https://leetcode-cn.com/problems/min-stack/ 难度:简单 题目描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小

【LeetCode Hot100】461. 汉明距离

链接:https://leetcode-cn.com/problems/hamming-distance/ 难度:容易 题目描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例 输入: x = 1, y = 4 输出: 2 解释: 1   (

LeetCode热题HOT100之第二十二题:子集

题目:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 //解题方法1:迭代思想:首先我们把数组中的每一位是否可以用到通过二进制表示,用到为1,用不到为0,然后求出数组长度n,则可以得到一共

【力扣】[热题 HOT100] 78.子集

1.题目 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 链接:https://leetcode-cn.com/problems/subsets/ 2.思路解析 迭代法实现子集枚举mask表示可以给res中填入的数组个数t来记录

【力扣】[热题 HOT100] 32.最长有效括号

1.题目 给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 链接:https://leetcode-cn.com/problems/longest-valid-parentheses/   2.思路解析 栈(栈中放左括号的下标)先垫一个数字,防止字节出现右括号的情况,有数字可以出将遇到的左括号入栈,不

leetcode hot100合并区间 Java

题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 思路: 如果数组的长度为0或者1,则直接返回该数组初始化count用于计数合并了多少次遍历

leetcode hot100 字母异位词分组 java

题目描述 字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [ [“ate”,“eat”,“tea”], [“nat”,“tan”], [“bat”] ] 方法: 新建一个

leetcode hot100有效的括号 java

题目描述 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 辅助栈法: 如果字符串的长度是奇数,则直接返回false 否则: 新建一个map,key为右括号,value为左括

[图解LeetCode Hot100]股票问题

股票问题在Hot100里有两道,分有冷冻期和没冷冻期两种 没有冷冻期 题目 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。

LeetCode Hot100 环形链表

1. 141 环形链表   156950.4%简单 三个方法: ①快慢指针,总会相遇,注意while的条件要有head.next也存在,防止下图的情况发生,导致head.next没有next,会报错: ②ES6数据结构Map ③ES6数据结构Set,改天单独说一下这两个数据结构 var hasCycle = function(head) { // 法一: // le

leetcode hot100 - 148. 排序链表

148. 排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 思路一:递归 + 归并 思路参考:https://leetcode-cn.com/problems/sort-list/solution/sort-li