题目核心
给你一个整数数组 nums,找到其中最长严格递增子序列的长度。
子序列不要求连续,但要求相对顺序一致;"严格递增"意味着相等的元素不算。
输入:nums = [10,9,2,5,3,7,101,6]
输出:4
解释:最长递增子序列是 [2,3,7,101],长度为 4
输入:nums = [0,1,0,3,2,3]
输出:4([0,1,2,3])
2026/9/17大约 5 分钟
给你一个整数数组 nums,找到其中最长严格递增子序列的长度。
子序列不要求连续,但要求相对顺序一致;"严格递增"意味着相等的元素不算。
输入:nums = [10,9,2,5,3,7,101,6]
输出:4
解释:最长递增子序列是 [2,3,7,101],长度为 4
输入:nums = [0,1,0,3,2,3]
输出:4([0,1,2,3])
给你一个字符串 s,找到 s 中最长的回文子串并返回它。
输入:s = "babad"
输出:"bab"("aba" 同样有效)
输入:s = "cbbd"
输出:"bb"
输入:s = "a"
输出:"a"
给你一个整数数组 nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6
输入:nums = [5,4,-1,7,8]
输出:23(整个数组)
输入:nums = [-1]
输出:-1
给你一个整数数组 nums 和一个整数 target。
向数组中的每个整数前添加 '+' 或 '-',然后串联起所有整数,可以构造一个表达式:
nums = [2, 1],可以在 2 之前加 '+',在 1 之前加 '-',得到表达式 "+2-1"。给你一个整数数组 coins,表示不同面额的硬币;以及一个整数 amount,表示总金额。
计算并返回可以凑成总金额所需的 最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。
你可以认为每种硬币的数量是无限的。
例如:
coins = [1, 2, 5], amount = 11
返回 3(11 = 5 + 5 + 1)
coins = [2], amount = 3
返回 -1(无法凑出 3)
coins = [1], amount = 0
返回 0(金额为 0,不需要硬币)
给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s。
s 即可。例如:
s = "leetcode", wordDict = ["leet", "code"]
返回 true("leet" + "code")
s = "applepenapple", wordDict = ["apple", "pen"]
返回 true("apple" + "pen" + "apple")
s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"]
返回 false
一排房屋中,每间房都放着一定金额的钱,数组 nums 中的 nums[i] 就是第 i 间房里的金额。
相邻的两间房不能在同一晚偷,求最多能够偷到多少钱。
例如:
nums = [2, 7, 9, 3, 1]
给定一个由字符 '0' 和 '1' 组成的二维矩阵 matrix,找出只包含 '1' 的最大正方形,并返回它的面积。
注意返回的是面积,不是边长。
例如:
matrix =
[
["1","0","1","0","0"],
["1","0","1","1","1"],
["1","1","1","1","1"],
["1","0","0","1","0"]
]