12 2020 档案

摘要:go 数据结构 – 优先队列(堆) 参考链接:https://golang.org/pkg/container/heap/ 使用“container/heap”包,构建堆或者优先队列,需要自己定义Sort方法的内容及Push Pop方法。 //官方示例1 最小堆 // This example de 阅读全文
posted @ 2020-12-27 22:44 ganshuoos 阅读(4261) 评论(0) 推荐(0)
摘要:leetcode刷题笔记5210题 球会落何处 地址:5210. 球会落何处 问题描述: 用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。 箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。 将球导向右侧的挡 阅读全文
posted @ 2020-12-27 22:38 ganshuoos 阅读(83) 评论(0) 推荐(0)
摘要:leetcode刷题笔记5638题 吃苹果的最大数目 地址:5638. 吃苹果的最大数目 问题描述: import scala.collection.mutable.PriorityQueue object Solution { def eatenApples(apples: Array[Int], 阅读全文
posted @ 2020-12-27 22:32 ganshuoos 阅读(132) 评论(0) 推荐(0)
摘要:leetcode刷题笔记5637题 判断字符串的两半是否相似 地址:5637. 判断字符串的两半是否相似 问题描述: 给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。 两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u' 阅读全文
posted @ 2020-12-27 22:29 ganshuoos 阅读(126) 评论(0) 推荐(0)
摘要:剑指 Offer 28. 对称的二叉树 地址:剑指 Offer 28. 对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / 2 2 / \ / 3 4 4 3 但是下面这个 [ 阅读全文
posted @ 2020-12-26 22:22 ganshuoos 阅读(85) 评论(0) 推荐(0)
摘要:剑指 Offer 27. 二叉树的镜像 地址:剑指 Offer 27. 二叉树的镜像 问题描述: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / 2 7 / \ / 1 3 6 9 镜像输出: 4 / 7 2 / \ / 9 6 3 1 示例 1: 输入:root = [4 阅读全文
posted @ 2020-12-26 22:20 ganshuoos 阅读(59) 评论(0) 推荐(0)
摘要:剑指 Offer 26. 树的子结构 地址:剑指 Offer 26. 树的子结构 问题描述: 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / 1 2 给定的树 阅读全文
posted @ 2020-12-26 22:17 ganshuoos 阅读(76) 评论(0) 推荐(0)
摘要:剑指 Offer 25. 合并两个排序的链表 地址:剑指 Offer 25. 合并两个排序的链表 问题描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 限制: 0 ⇐ 链表长度 阅读全文
posted @ 2020-12-25 17:42 ganshuoos 阅读(53) 评论(0) 推荐(0)
摘要:剑指 Offer 24. 反转链表 地址:剑指 Offer 24. 反转链表 问题描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 ⇐ 节点个数 ⇐ 5 阅读全文
posted @ 2020-12-25 17:39 ganshuoos 阅读(44) 评论(0) 推荐(0)
摘要:剑指 Offer 22. 链表中倒数第k个节点 地址:剑指 Offer 22. 链表中倒数第k个节点 问题描述: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、 阅读全文
posted @ 2020-12-25 17:35 ganshuoos 阅读(46) 评论(0) 推荐(0)
摘要:剑指 Offer 20. 表示数值的字符串 地址:剑指 Offer 20. 表示数值的字符串 问题描述: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3 阅读全文
posted @ 2020-12-25 00:24 ganshuoos 阅读(90) 评论(0) 推荐(0)
摘要:剑指 Offer 51. 数组中的逆序对 地址:剑指 Offer 51. 数组中的逆序对 问题描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 ⇐ 数组 阅读全文
posted @ 2020-12-23 23:02 ganshuoos 阅读(58) 评论(0) 推荐(0)
摘要:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 地址:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 问题描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1,2,3,4] 阅读全文
posted @ 2020-12-22 19:02 ganshuoos 阅读(42) 评论(0) 推荐(0)
摘要:leetcode刷题笔记5631题 删除子数组的最大得分 地址:5631. 跳跃游戏 VI 问题描述: 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i + 1, 阅读全文
posted @ 2020-12-20 23:42 ganshuoos 阅读(118) 评论(0) 推荐(0)
摘要:leetcode刷题笔记5630题 删除子数组的最大得分 地址:5630. 删除子数组的最大得分 问题描述: 给你一个正整数数组 nums ,请你从中删除一个含有 若干不同元素 的子数组。删除子数组的 得分 就是子数组各元素之 和 。 返回 只删除一个 子数组可获得的 最大得分 。 如果数组 b 是 阅读全文
posted @ 2020-12-20 23:39 ganshuoos 阅读(176) 评论(0) 推荐(0)
摘要:leetcode刷题笔记5629题 重新格式化电话号码 地址:5629. 重新格式化电话号码 问题描述: 给你一个字符串形式的电话号码 number 。number 由数字、空格 ' '、和破折号 '-' 组成。 请你按下述方式重新格式化电话号码。 首先,删除 所有的空格和破折号。 其次,将数组从左 阅读全文
posted @ 2020-12-20 23:36 ganshuoos 阅读(110) 评论(0) 推荐(0)
摘要:剑指 Offer 19. 正则表达式匹配 地址:剑指 Offer 19. 正则表达式匹配 问题描述: 请实现一个函数用来匹配包含'. '和''的正则表达式。模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串 阅读全文
posted @ 2020-12-19 21:18 ganshuoos 阅读(69) 评论(0) 推荐(0)
摘要:剑指 Offer 18. 删除链表的节点 地址:剑指 Offer 18. 删除链表的节点 问题描述: 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val = 5 输 阅读全文
posted @ 2020-12-19 21:15 ganshuoos 阅读(87) 评论(0) 推荐(0)
摘要:剑指 Offer 17. 打印从1到最大的n位数 地址:剑指 Offer 17. 打印从1到最大的n位数 问题描述: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3 阅读全文
posted @ 2020-12-19 21:13 ganshuoos 阅读(71) 评论(0) 推荐(0)
摘要:leetcode刷题笔记338题 比特位计数 地址:338. 比特位计数 问题描述: 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: 阅读全文
posted @ 2020-12-19 20:57 ganshuoos 阅读(78) 评论(0) 推荐(0)
摘要:剑指 Offer 16. 数值的整数次方 地址:剑指 Offer 16. 数值的整数次方 问题描述: 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入: 2.00000 阅读全文
posted @ 2020-12-18 19:09 ganshuoos 阅读(72) 评论(0) 推荐(0)
摘要:leetcode刷题笔记389题 找不同 地址:389. 找不同 问题描述: 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = "abcd", t = "abcde" 输出:" 阅读全文
posted @ 2020-12-18 15:18 ganshuoos 阅读(73) 评论(0) 推荐(0)
摘要:leetcode刷题笔记337题 打家劫舍 III 地址:337. 打家劫舍 III 问题描述: 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“ 阅读全文
posted @ 2020-12-18 15:16 ganshuoos 阅读(75) 评论(0) 推荐(0)
摘要:剑指 Offer 15. 二进制中1的个数 地址:剑指 Offer 15. 二进制中1的个数 问题描述: 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输 阅读全文
posted @ 2020-12-17 18:10 ganshuoos 阅读(71) 评论(0) 推荐(0)
摘要:剑指 Offer 14- II. 剪绳子 II 地址:剑指 Offer 14- II. 剪绳子 II 问题描述: 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]k[1].. 阅读全文
posted @ 2020-12-17 18:07 ganshuoos 阅读(53) 评论(0) 推荐(0)
摘要:剑指 Offer 14- I. 剪绳子 地址:剑指 Offer 14- I. 剪绳子 问题描述: 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]k[1]...*k[m-1] 可 阅读全文
posted @ 2020-12-17 18:05 ganshuoos 阅读(61) 评论(0) 推荐(0)
摘要:剑指 Offer 13. 机器人的运动范围 地址:剑指 Offer 13. 机器人的运动范围 问题描述: 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐 阅读全文
posted @ 2020-12-17 18:00 ganshuoos 阅读(51) 评论(0) 推荐(0)
摘要:leetcode刷题笔记334题 递增的三元子序列 地址:334. 递增的三元子序列 问题描述: 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1, 使得 arr[i] < ar 阅读全文
posted @ 2020-12-17 12:45 ganshuoos 阅读(60) 评论(0) 推荐(0)
摘要:剑指 Offer 12. 矩阵中的路径 地址:剑指 Offer 12. 矩阵中的路径 问题描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次 阅读全文
posted @ 2020-12-16 18:06 ganshuoos 阅读(57) 评论(0) 推荐(0)
摘要:剑指 Offer 11. 旋转数组的最小数字 地址:剑指 Offer 11. 旋转数组的最小数字 问题描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的 阅读全文
posted @ 2020-12-16 18:04 ganshuoos 阅读(40) 评论(0) 推荐(0)
摘要:剑指 Offer 10- II. 青蛙跳台阶问题 地址:剑指 Offer 10- II. 青蛙跳台阶问题 问题描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000 阅读全文
posted @ 2020-12-16 18:02 ganshuoos 阅读(52) 评论(0) 推荐(0)
摘要:剑指 Offer 10- I. 斐波那契数列 地址:剑指 Offer 10- I. 斐波那契数列 问题描述: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2) 阅读全文
posted @ 2020-12-16 18:00 ganshuoos 阅读(50) 评论(0) 推荐(0)
摘要:剑指 Offer 09. 用两个栈实现队列 地址:剑指 Offer 09. 用两个栈实现队列 问题描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,delete 阅读全文
posted @ 2020-12-16 17:56 ganshuoos 阅读(62) 评论(0) 推荐(0)
摘要:leetcode刷题笔记331题 验证二叉树的前序序列化 源地址:331. 验证二叉树的前序序列化 问题描述: 序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / 阅读全文
posted @ 2020-12-16 14:33 ganshuoos 阅读(94) 评论(0) 推荐(0)
摘要:剑指 Offer 07. 重建二叉树 地址:剑指 Offer 07. 重建二叉树 问题描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorde 阅读全文
posted @ 2020-12-15 22:57 ganshuoos 阅读(56) 评论(0) 推荐(0)
摘要:剑指 Offer 06. 从尾到头打印链表 地址:剑指 Offer 06. 从尾到头打印链表 问题描述: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 ⇐ 链表长度 ⇐ 10000 /** * 阅读全文
posted @ 2020-12-15 22:54 ganshuoos 阅读(61) 评论(0) 推荐(0)
摘要:剑指 Offer 05. 替换空格 地址:剑指 Offer 05. 替换空格 问题描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 ⇐ s 的长度 ⇐ 10000 阅读全文
posted @ 2020-12-15 22:45 ganshuoos 阅读(59) 评论(0) 推荐(0)
摘要:剑指 Offer 04. 二维数组中的查找 地址:剑指 Offer 04. 二维数组中的查找 问题描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例 阅读全文
posted @ 2020-12-15 22:42 ganshuoos 阅读(60) 评论(0) 推荐(0)
摘要:剑指 Offer 03. 数组中重复的数字 地址:剑指 Offer 03. 数组中重复的数字 问题描述: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意 阅读全文
posted @ 2020-12-15 22:40 ganshuoos 阅读(65) 评论(0) 推荐(0)
摘要:leetcode刷题笔记328题 奇偶链表 地址:328. 奇偶链表 问题描述: 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O( 阅读全文
posted @ 2020-12-15 13:45 ganshuoos 阅读(80) 评论(0) 推荐(0)
摘要:leetcode刷题笔记324题 摆动排序 II 地址:324. 摆动排序 II 问题描述: 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序。 示例 1: 输入: nums = [1, 5, 1, 1, 6, 4 阅读全文
posted @ 2020-12-15 13:20 ganshuoos 阅读(109) 评论(0) 推荐(0)
摘要:leetcode刷题笔记321题 拼接最大数 地址:321. 拼接最大数 问题描述: 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k ⇐ m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的 阅读全文
posted @ 2020-12-12 19:12 ganshuoos 阅读(95) 评论(0) 推荐(0)
摘要:leetcode刷题笔记326题 3的幂 地址:326. 3的幂 问题描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 示例 1: 输入:n = 27 输出:tru 阅读全文
posted @ 2020-12-11 23:07 ganshuoos 阅读(79) 评论(0) 推荐(0)
摘要:leetcode刷题笔记322题 零钱兑换 地址:322. 零钱兑换 问题描述: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入 阅读全文
posted @ 2020-12-10 19:53 ganshuoos 阅读(75) 评论(0) 推荐(0)
摘要:leetcode刷题笔记319题 灯泡开关源 地址:319. 灯泡开关 问题描述: 初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。 第 i 轮,每 i 个灯泡切换一次开关。 对于第 阅读全文
posted @ 2020-12-09 21:41 ganshuoos 阅读(90) 评论(0) 推荐(0)
摘要:leetcode刷题笔记318题 最大单词长度乘积 源地址:318. 最大单词长度乘积 问题描述: 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个 阅读全文
posted @ 2020-12-08 21:47 ganshuoos 阅读(96) 评论(0) 推荐(0)
摘要:leetcode刷题笔记316题 去除重复字母 源地址:316. 去除重复字母 问题描述: 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 注意:该题与 1081 https://leetcode-cn.co 阅读全文
posted @ 2020-12-07 22:47 ganshuoos 阅读(165) 评论(0) 推荐(0)
摘要:leetcode刷题笔记315题 计算右侧小于当前元素的个数 源地址:315. 计算右侧小于当前元素的个数 问题描述: 给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 阅读全文
posted @ 2020-12-04 22:54 ganshuoos 阅读(102) 评论(0) 推荐(0)
摘要:leetcode刷题笔记313题 超级丑数 源地址:313. 超级丑数 问题描述: 编写一段程序来查找第 n 个超级丑数。 超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中的正整数。 示例: 输入: n = 12, primes = [2,7,13,19] 输出: 32 解释: 阅读全文
posted @ 2020-12-04 19:54 ganshuoos 阅读(107) 评论(0) 推荐(0)
摘要:leetcode刷题笔记312题 戳气球 源地址:312. 戳气球 问题描述: 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[rig 阅读全文
posted @ 2020-12-02 22:10 ganshuoos 阅读(178) 评论(0) 推荐(0)
摘要:leetcode刷题笔记310题 最小高度树 源地址:310. 最小高度树 问题描述: 树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。 给你一棵包含 n 个节点的数,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 阅读全文
posted @ 2020-12-01 19:19 ganshuoos 阅读(123) 评论(0) 推荐(0)