![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode算法题目练习
LeetCode算法题目练习
Xzzz2020
个人博客地址:https://xzzz2020.gitee.io/,可以收藏一下,会第一时间发布文章
展开
-
Java--LeetCode56--数组中数字出现的次数(异或和与运算)
题目描述一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。分析首先不能用map或者一个数组记录各个数字出现的次数的次数(空间复杂度大于O(1))不能使用双重循环遍历(时间复杂度为O(n2))由于数组中存在着两个数字不重复的情况,我们将所有的数字异或操作起来,最终得到的结果是这两个数字的...原创 2020-04-28 17:25:52 · 243 阅读 · 0 评论 -
Java---LeetCode.23---合并K个排序链表
题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。整体时间复杂度为O(N*log(k)), k为链表个数,N为链表数组中节点总个数。整体思路为:合并数组中第k个链表到第1个链表,合并数组中第k-1个链表到第2个链表,依次这样操作…一轮合并之后,新链表分布在数组的 第1 到 第(k+1)/2个链表中,继续1这样的合并直到新链表只在数组第一个位置。返回数...原创 2020-04-26 08:58:33 · 162 阅读 · 0 评论 -
Java--leetcode--机器人的运动范围--递推&dfs
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少...原创 2020-04-08 10:05:46 · 114 阅读 · 0 评论 -
Java--leetcode--全排列2
给定一个可包含重复数字的序列,返回所有不重复的全排列。class Solution { public List<List<Integer>> permuteUnique(int[] nums) { List<List<Integer>> newSet = new ArrayList<>(); ...原创 2020-04-02 11:22:25 · 154 阅读 · 0 评论 -
Java--Leetcode--地图分析(BFS)
你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个区域之间的距离是 |x0 - ...原创 2020-03-29 10:06:52 · 198 阅读 · 0 评论 -
Java--LeetCode--820. 单词的压缩编码
给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 “#” 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进行编码的...原创 2020-03-28 09:14:58 · 374 阅读 · 0 评论 -
Java --LeetCode--水壶问题
有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。你允许:装满任意一个水壶清空任意一个水壶从一个水壶向另外一个水壶倒水,直到装满或者倒空示例 1: (From the famous “Die Hard” example)输入: x = 3, y = 5, ...原创 2020-03-21 09:24:17 · 323 阅读 · 0 评论 -
Java-LeetCode-矩形面积
题目:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。示例:输入: -3, 0, 3, 4, 0, -1, 9, 2输出: 45说明: 假设矩形面积不会超出 int 的范围。题解:class Solution { public int computeArea(int A, int B, int C, int D,...原创 2020-03-18 15:39:39 · 216 阅读 · 0 评论 -
Java-LeetCode--拼写单词
给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words = [“cat”,“bt”,“hat...原创 2020-03-17 18:45:26 · 265 阅读 · 0 评论 -
Java-LeetCode-岛屿的最大面积(dfs)
题目给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,...原创 2020-03-15 15:05:53 · 383 阅读 · 0 评论