摘要:
240. 搜索二维矩阵 II 题目: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 思路: 二维矩阵从左到右递增,从上到下递增。 可以采用z字型。 从右上角开始判断,如果大于t 阅读全文
摘要:
238. 除自身以外数组的乘积 题目 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法,且 阅读全文
摘要:
221. 最大正方形 题目: 在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 思路: 找出联通的1,并取正方形。求最大面积。 dp[i][j]表示以[i,j]为右下角的正方形的最大变长 使用动态规划,对于左边和上边,如果matrix==1,dp[i] 阅读全文
摘要:
208. 实现 Trie (前缀树) 题目: Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象。void insert(Str 阅读全文
摘要:
200. 岛屿数量 题目: 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ ["1","1","1 阅读全文
摘要:
169. 多数元素 题目: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:[3,2,3] 输出:3 思路: 使用计数器统计相同元素出现的个数,如果--count 阅读全文