随笔分类 - 算法
摘要:给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例: 输入: s = "applepenapple", wordDict = ["apple", "pen"
        阅读全文
                
摘要:一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' → "1" 'B' → "2" ... 'Z' → "26" 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 (1 1 10 
        阅读全文
                
摘要:给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 示例: 输入:n = 13 输出:2 解释:13 = 4 + 9 方法1:动态规
        阅读全文
                
摘要:在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 示例: 输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1&q
        阅读全文
                
摘要:给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例: 输入:mat = [[0,0,0],[0,1,0],[0,0,0]] 输出:[[0,0,0],[0,1,0],[0,0,0]
        阅读全文
                
摘要:给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入:grid = [[1,3,1],[1,5,1],[4,2,1]] 输出:7 解释:因为路径 1→3→1→1→1 的总和最小。 创建
        阅读全文
                
摘要:如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。 给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。 子数组 是数组中的一个连续序列。
        阅读全文
                
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例: 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1、1 阶 + 1 阶 + 1 阶 2、1 阶 + 2 阶 3、2 阶 + 1 阶 这是十分经典的斐波那契数列题
        阅读全文
                
摘要:给定一个只包含加、减和乘法的数学表达式,求通过加括号可以得到多少种不同的结果。 示例:输入是一个字符串,表示数学表达式;输出是一个数组,存储所有不同的加括号结果 输入:expression = "23-45" 输出:[-34,-14,-10,-10,10] 解释: (2*(3-(45))) = -3
        阅读全文
                
摘要:给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 提示:s 仅由小写英文字母组成 示例: 输入:s = "ababbc", k = 2 输出:5 解释:最长子串为 "ababb" ,其中 'a' 重复了 2 次, 
        阅读全文
                
摘要:给定一个二维的 0-1 矩阵,其中 0 表示海洋, 1 表示陆地。单独的或相邻的陆地可以形成岛屿,每个格子只与其上下左右四个格子相邻。求最大的岛屿面积。 输入是一个二维数组,输出是一个整数,表示最大的岛屿面积。 示例: 输入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[
        阅读全文
                
摘要:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] **进阶:**你所设计算法的时间复杂度 必须 优于 O(nlogn) ,其中 n 是数组大小
        阅读全文
                
摘要:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 [基于快排的所有TopK问题简单python模板](https://le
        阅读全文
                
摘要:已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 ⇐ k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[
        阅读全文
                
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 **进阶:**可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例1: 输入:nums = [5,7
        阅读全文
                
摘要:给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 **注意:**不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例: 输入:x = 8 输出:2 解释:8 的算术平方根是 2.
        阅读全文
                
摘要:给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例: 输入: intervals = [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后,剩
        阅读全文
                
摘要:n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 示例1: 输入:ratings = [
        阅读全文
                
摘要:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号