随笔分类 -  刷题随笔

刷刷题避免脑子生锈
摘要:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1 阅读全文
posted @ 2020-08-21 00:04 打屎也不熬夜 阅读(109) 评论(0) 推荐(0)
摘要:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 阅读全文
posted @ 2020-08-20 22:18 打屎也不熬夜 阅读(108) 评论(0) 推荐(0)
摘要:https://tangshusen.me/2019/11/24/knapsack-problem/ https://mp.weixin.qq.com/s?src=11&timestamp=1596210639&ver=2494&signature=ebLRWzj10GYY8W5wWUipHYsbd 阅读全文
posted @ 2020-08-01 11:22 打屎也不熬夜 阅读(178) 评论(0) 推荐(0)
摘要:题目描述 给定两个单词word1和word2,请计算将word1转换为word2至少需要多少步操作。你可以对一个单词执行以下3种操作:a)在单词中插入一个字符b)删除单词中的一个字符c)替换单词中的一个字符 解析: D[i][j-1] 为 A 的前 i 个字符和 B 的前 j - 1 个字符编辑距离 阅读全文
posted @ 2020-07-24 21:07 打屎也不熬夜 阅读(117) 评论(0) 推荐(0)
摘要:题目描述 你在爬楼梯,需要n步才能爬到楼梯顶部 每次你只能向上爬1步或者2步。有多少种方法可以爬到楼梯顶部? 递归法: 1 import java.util.*; 2 3 4 public class Solution { 5 /** 6 * 7 * @param n int整型 8 * @retu 阅读全文
posted @ 2020-07-24 20:26 打屎也不熬夜 阅读(161) 评论(0) 推荐(0)
摘要:题目描述 给定一个由非负整数填充的m x n的二维数组,现在要从二维数组的左上角走到右下角,请找出路径上的所有数字之和最小的路径。注意:你每次只能向下或向右移动。 二维数组动态规划求解: 1 import java.util.*; 2 3 4 public class Solution { 5 /* 阅读全文
posted @ 2020-07-24 17:03 打屎也不熬夜 阅读(104) 评论(0) 推荐(0)
摘要:继续思考题目"Unique Paths": 如果在图中加入了一些障碍,有多少不同的路径? 分别用0和1代表空区域和障碍 例如 下图表示有一个障碍在3*3的图中央。 [↵ [0,0,0],↵ [0,1,0],↵ [0,0,0]↵] 有2条不同的路径 备注:m和n不超过100. 二维数组动态规划解法: 阅读全文
posted @ 2020-07-24 16:30 打屎也不熬夜 阅读(113) 评论(0) 推荐(0)
摘要:题目描述 一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。 机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish"的位置)。 可以有多少种不同的路径从起点走到终点? 上图是3×7大小的地图,有多少不同的路径? 备注:m和n小于等于10 阅读全文
posted @ 2020-07-24 15:48 打屎也不熬夜 阅读(82) 评论(0) 推荐(0)
摘要:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 阅读全文
posted @ 2020-07-24 13:12 打屎也不熬夜 阅读(137) 评论(0) 推荐(0)
摘要:给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1输 阅读全文
posted @ 2020-07-23 19:13 打屎也不熬夜 阅读(102) 评论(0) 推荐(0)
摘要:题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a,b,c,e; s,f,c,s; a,d,e,e 阅读全文
posted @ 2020-06-27 15:38 打屎也不熬夜 阅读(89) 评论(0) 推荐(0)
摘要:题目描述 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[1],...,k[m]。请问k[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 输入描述: 阅读全文
posted @ 2020-06-24 22:53 打屎也不熬夜 阅读(98) 评论(0) 推荐(0)
摘要:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步 阅读全文
posted @ 2020-05-12 21:47 打屎也不熬夜 阅读(105) 评论(0) 推荐(0)
摘要:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置 阅读全文
posted @ 2020-05-12 20:07 打屎也不熬夜 阅读(197) 评论(0) 推荐(0)
摘要:报如下错误: TypeError: ufunc did not contain a loop with signature matching types dtype('U32') 首先我在想会不会是这两个矩阵的元素类型不同,不允许相加减呀?但是明明浮点数和整数是可以相加减的。 然后上网搜了搜,原来如 阅读全文
posted @ 2020-05-08 23:23 打屎也不熬夜 阅读(674) 评论(0) 推荐(0)
摘要:有 n 位用户参加活动,他们的 ID 从 0 到 n - 1,每位用户都 恰好 属于某一用户组。给你一个长度为 n 的数组 groupSizes,其中包含每位用户所处的用户组的大小,请你返回用户分组情况(存在的用户组以及每个组中用户的 ID)。 你可以任何顺序返回解决方案,ID 的顺序也不受限制。此 阅读全文
posted @ 2020-04-30 15:08 打屎也不熬夜 阅读(100) 评论(0) 推荐(0)