
算法和数据结构
算法和数据结构
Hireek
心如明镜
展开
-
数组中的第K个最大元素(java go)
数组中的第K个最大元素核心:快速排序,扩展只排多少个。javapublic int findKthLargest(int[] nums, int k) { if (nums.length < 1 || k < 1 || k > nums.length) { return -1; } return partition(nums, 0, nums.length - 1, nums.length - k);}public int partiti原创 2022-02-05 17:52:59 · 407 阅读 · 0 评论 -
添加与搜索单词 - 数据结构设计 (java、go版本)
211. 添加与搜索单词 - 数据结构设计请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。实现词典类 WordDictionary :WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true ;否则,返回 false 。word 中可能包含一些 '.' ,每个 . 都可以表示任原创 2022-02-04 22:05:24 · 145 阅读 · 0 评论 -
单词搜索 java go
79. 单词搜索javapublic class Solution { int m; int n; boolean[][] vis; public boolean exist(char[][] board, String word) { m = board.length; n = board[0].length; vis = new boolean[m][n]; // 也可以内置标记,不需要额外空间 for (int i = 0; i < m; i+原创 2022-01-28 11:38:42 · 416 阅读 · 0 评论 -
矩阵置0 JAVA
矩阵置零,leetcodepublic void setZeroes(int[][] matrix) { // 每一行的第一列记录该行是否出现0 int m = matrix.length, n = matrix[0].length; // 原本的第一列是否为0; boolean flagCol = false; for (int i = 0; i < m; i++) { if (!flagCol && matrix[i][0]原创 2022-01-27 15:30:56 · 498 阅读 · 0 评论 -
下一个排列
下一个排序leetcodepublic void nextPermutation(int[] nums) { if (nums.length < 2) return; int len = nums.length; int i = len - 2; // 从后向前找到递减的第一个数 while (i >= 0 && nums[i] >= nums[i + 1]) i--; int j = len - 1; // 找到原创 2022-01-22 10:08:46 · 339 阅读 · 0 评论 -
三数之和 java
三数之和public class Q15 { List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); IntStream.range(0, nums.length - 2).filter(i -> i <= 0 ||原创 2022-01-19 23:38:30 · 228 阅读 · 0 评论 -
面试题 17.23. 最大黑方阵 java
leetcode link给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出 4 条边皆为黑色像素的最大子方阵。返回一个数组 [r, c, size] ,其中 r, c 分别代表子方阵左上角的行号和列号,size 是子方阵的边长。若有多个满足条件的子方阵,返回 r 最小的,若 r 相同,返回 c 最小的子方阵。若无满足条件的子方阵,返回空数组。示例 1:输入:[ [1,0,1], [0,0,1], [0,0,1]]输出: [1,0,2]解释: 输入中 0原创 2022-01-16 10:40:36 · 274 阅读 · 0 评论 -
面试题 17.09. 第 k 个数
第K个数leetcode link有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。示例 1:输入: k = 5输出: 9题目分析,丑数(符合要求的数,只有3、5、7 的素因子,当然也不会包括其他的素因子(1除外,1没有素因子,与任何正整数都互质))数列的第k个。如何得到丑数数列呢。或者说规律。动态规划class Solution { public原创 2022-01-15 10:13:01 · 251 阅读 · 0 评论