随笔分类 -  LeetCode刷题

摘要:题目 分析 这里还是很简单,就是平常的层序遍历就完事了。个人觉得主要是考察基础知识,比如二维数组的初始化,队列的一些操作。解答过程主要是构建一个数组对每层节点进行记录,然后结果倒序就好了。我这里倒叙通过遍历数组实现,官方解答充分利用了list数组的add方法,通过指定每次添加位置为第一位。为不是平常 阅读全文
posted @ 2020-09-06 07:55 大嘤熊 阅读(125) 评论(0) 推荐(0)
摘要:题目 分析 其实很明显该排序强调的从小到大的排序就提示该题存在一定规律,比如如果k在[1,(n-1)!)之间时,那么我们就可以确定第一位数字为1,k在[(n-1)!,2*(n-1)!)之间时,那么第一位就是2.以此类推。 我们用一个数组来记录阶乘。然后开始对该字符串所有位置的的数值进行确定。 代码 阅读全文
posted @ 2020-09-05 15:46 大嘤熊 阅读(94) 评论(0) 推荐(0)
摘要:1.1题目 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例: 示例: 1.2解答 这种问题一看就知道使用动态规划,子问题也很好找,将一个数分为两部分,要么两个部分都不可分了,要么一个可分,一个不可分。两个都可分的情况可以改成一个可分,一 阅读全文
posted @ 2020-07-30 08:21 大嘤熊 阅读(136) 评论(0) 推荐(0)
摘要:#1.1题目 题中给出一个 n_rows 行 n_cols 列的二维矩阵,且所有值被初始化为 0。要求编写一个 flip 函数,均匀随机的将矩阵中的 0 变为 1,并返回该值的位置下标 [row_id,col_id];同样编写一个 reset 函数,将所有的值都重新置为 0。尽量最少调用随机函数 M 阅读全文
posted @ 2020-07-28 09:27 大嘤熊 阅读(143) 评论(0) 推荐(0)
摘要:1.1题目 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。 1.2解答 很显然是二叉树的遍历问题。遍历每个点然后返回当前点的深 阅读全文
posted @ 2020-07-28 08:53 大嘤熊 阅读(84) 评论(0) 推荐(0)
摘要:1.1题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 ⇐100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新 阅读全文
posted @ 2020-07-27 07:34 大嘤熊 阅读(123) 评论(0) 推荐(0)
摘要:1.1题目 给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。 示例1: 示例2: 1.2解答 很显然只能将所有情况完全遍历一次,将以任意一点为起点的情况全部遍历完,也就是对每个点进行深度优先搜索。 阅读全文
posted @ 2020-07-26 10:13 大嘤熊 阅读(154) 评论(0) 推荐(0)
摘要:1.1题目描述 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。 注意: 数组长度 n 满足以下条件: 1 ≤ n ≤ 1000 1 ≤ m ≤ min(50, n) 示例:nums = [7,2,5,10,8] 阅读全文
posted @ 2020-07-25 08:24 大嘤熊 阅读(200) 评论(0) 推荐(0)
摘要:1.1题目 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: #1.2解答 最开始我是想到将1..n分别作为根节点,其左右的数就是左右子树,那么以n为根节点的树的种类数就等于左子树种类数乘右子树种类数,只需要一个递归调用就能解决问题。然后就是通过构建备忘录表实现空间复 阅读全文
posted @ 2020-07-24 07:34 大嘤熊 阅读(120) 评论(0) 推荐(0)
摘要:1.1题目描述 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝 阅读全文
posted @ 2020-07-24 06:50 大嘤熊 阅读(120) 评论(0) 推荐(0)
摘要:1.1题目 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 1.2解答 最简单的方法就是穷举法,将一种走法全部遍历出来,进一步我们可以想怎样聪明一点的遍历。因为你每到一个点的方式最多只有两种,就是 阅读全文
posted @ 2020-07-23 09:51 大嘤熊 阅读(133) 评论(0) 推荐(0)
摘要:1.1题目描述 给定一个无向图graph,当这个图为二分图时返回true。 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。 graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。 阅读全文
posted @ 2020-07-22 09:02 大嘤熊 阅读(175) 评论(0) 推荐(0)
摘要:1.1题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。 示例 1: 输入: [1,3,5] 输出: 1 输入: [2,2,2,0,1] 输 阅读全文
posted @ 2020-07-22 08:49 大嘤熊 阅读(100) 评论(0) 推荐(0)
摘要:1.1描述 给定一个整数 n,生成所有由 1 ... n 为节点所组成的 二叉搜索树 。 示例: 1.2解答 这题主要参考的是leetcode高赞回答 1.3代码 public class Solution { public List<TreeNode> generateTrees(int n) { 阅读全文
posted @ 2020-07-21 06:58 大嘤熊 阅读(118) 评论(0) 推荐(0)
摘要:1.1题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而 阅读全文
posted @ 2020-07-20 06:56 大嘤熊 阅读(96) 评论(0) 推荐(0)
摘要:题目 有n个气球,编号为0到n-1,每个气球上都标有一个数字,这些数字存在数组nums中。现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注 阅读全文
posted @ 2020-07-19 07:34 大嘤熊 阅读(201) 评论(0) 推荐(0)
摘要:题目 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例1: 输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac" 输出: true 示例2: 输入: s1 = "aabcc", s2 = "dbbca", 阅读全文
posted @ 2020-07-18 12:20 大嘤熊 阅读(158) 评论(0) 推荐(0)