![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
小小草帽
Interests: 深度学习、图像理解,AR,VR(欢迎交流)
展开
-
【RS】遥感数据融合
遥感数据融合整理原创 2023-06-20 09:52:18 · 626 阅读 · 0 评论 -
Python已知二叉树后序和中序遍历数组求前序遍历
利用DFS解决树的遍历问题原创 2022-08-23 10:32:02 · 887 阅读 · 0 评论 -
求最大时间间隔
求24小时时间制的最大时间间隔。原创 2022-08-18 19:44:35 · 211 阅读 · 0 评论 -
Python装饰器使用
Python装饰器用法整理原创 2022-06-30 17:20:59 · 192 阅读 · 0 评论 -
【LeetCode】350. 两个数组的交集 II(附collections.Counter操作)
题目描述给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]方法利用哈希表记录较短字符串中每个数字出现的次数,遍历较长的表,如果较长表原创 2022-03-21 10:00:06 · 90 阅读 · 0 评论 -
【LeetCode:DP】746.使用最小花费爬楼梯
题目描述给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例示例 1:输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。示例 2:输入:cost = [1,100,1,1,1,100,1,1,1原创 2022-03-20 20:11:29 · 105 阅读 · 0 评论 -
【LeetCode:BFS】剑指 Offer 13.机器人的运动范围
题目描述地上有一个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。请问该机器人能够到达多少个格子?示例示例 1:输入:m = 2, n = 3, k = 1输出:3示例 2:输入:原创 2022-03-19 16:06:52 · 81 阅读 · 0 评论 -
【LeetCode】词典中最长的单词(附集合操作、lamda用法)
题目描述给出一个字符串数组 words 组成的一本英语词典。返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。若无答案,则返回空字符串。示例示例 1:输入:words = [“w”,“wo”,“wor”,“worl”, “world”]输出:“world”解释: 单词"world"可由"w", “wo”, “wor”, 和 "worl"逐步添加一个字母组成。示例 2:输入:words = [原创 2022-03-17 21:22:10 · 6194 阅读 · 0 评论 -
【LeetCode:DFS】剑指 Offer 12. 矩阵中的路径
题目描述给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。题目链接方法深度优先搜索结合剪枝。总代码class Solution: def exist(self, board, word): def dfs(i, j, k):原创 2022-03-17 09:38:43 · 62 阅读 · 0 评论 -
变化检测查用操作(Matlab、Python)
融合图生成(Python版)利用tf.math.logical_and()函数实现给定参考变化图gt和算法生成的变化图cm生成融合图 def confusion_map(self, target_change_map, change_map): """ Compute RGB confusion map for the change map. True positive - White [1,1,1]原创 2022-03-16 21:21:23 · 1566 阅读 · 0 评论 -
【LeetCode】N叉树遍历
题目描述给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]方法N叉树遍历相对于二叉树遍历,我们要考虑他的N个孩子,因此引入for循环遍历访问N个孩子即可。总代码二叉树遍历# Definition for a binary tree node.# class原创 2022-03-10 10:15:33 · 550 阅读 · 0 评论 -
【LeetCode】旋转数组的最小数字
题目描述已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。给你一个元素值 互不相同 的数原创 2022-03-09 21:31:57 · 78 阅读 · 0 评论 -
【LeetCode】斐波那契数和青蛙跳台阶问题
题目描述斐波那契数问题:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:原创 2022-03-09 20:43:58 · 112 阅读 · 0 评论 -
常用编程语言命令大全
PythonMatlab保存图片imwrite(img,'result.jpg');原创 2022-03-09 10:11:48 · 1776 阅读 · 0 评论 -
【LeetCode:DP】适合打劫银行的日子
题目描述2100.你和一群强盗准备打劫银行。给你一个下标从 0 开始的整数数组 security ,其中 security[i] 是第 i 天执勤警卫的数量。日子从 0 开始编号。同时给你一个整数 time 。如果第 i 天满足以下所有条件,我们称它为一个适合打劫银行的日子:第 i 天前和后都分别至少有 time 天。第 i 天前连续 time 天警卫数目都是非递增的。第 i 天后连续 time 天警卫数目都是非递减的。更正式的,第 i 天是一个合适打劫银行的日子当且仅当:security[i原创 2022-03-06 20:35:48 · 203 阅读 · 0 评论 -
【剑指 Offer】数组中重复的数字
题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3方法一从当前位置的后面的元素查找当前位置的元素。class Solution: def findRepeatNumber(self, nums: List[int]) -> int:原创 2022-03-03 11:18:27 · 61 阅读 · 0 评论 -
【LeetCode】增量元素之间的最大差值
题目描述给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 nums[i] < nums[j] 。返回 最大差值 。如果不存在满足要求的 i 和 j ,返回 -1 。示例示例 1:输入:nums = [7,1,5,4]输出:4解释:最大差值出现在 i = 1 且 j = 2 时,nums[j] - nums[i] = 5 - 1 = 4 。注原创 2022-02-26 16:13:46 · 369 阅读 · 0 评论 -
【LeetCode】复数乘法
题目描述复数 可以用字符串表示,遵循 “实部+虚部i” 的形式,并满足下述条件:实部 是一个整数,取值范围是 [-100, 100]虚部 也是一个整数,取值范围是 [-100, 100]i2 == -1给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。示例示例 1:输入:num1 = “1+1i”, num2 = “1+1i”输出:“0+2i”解释:(1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将原创 2022-02-25 14:19:15 · 6826 阅读 · 0 评论 -
【LeetCode】仅仅反转字母
题目描述给你一个字符串 s ,根据下述规则反转字符串:所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。返回反转后的 s 。示例示例 1:输入:s = “ab-cd”输出:“dc-ba”示例 2:输入:s = “a-bC-dEf-ghIj”输出:“j-Ih-gfE-dCba”示例 3:输入:s = “Test1ng-Leet=code-Q!”输出:“Qedo1ct-eeLg=ntse-T!”方法记录非字母的位置,然后逆序不包含非字母的字符串,最后利用for循环原创 2022-02-23 20:09:34 · 6822 阅读 · 0 评论 -
【LeetCode】 “气球” 的最大数量
题目描述给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。示例示例 1:输入:text = “nlaebolko”输出:1示例 2:输入:text = “loonbalxballpoon”输出:2示例 3:输入:text = “leetcode”输出:0方法创建变量记录每个字符出现的个数,然后判断满足字符串的字符的数量比例原创 2022-02-13 12:28:16 · 2295 阅读 · 0 评论 -
【LeetCode】学生分数的最小差值
题目描述给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。返回可能的 最小差值 。示例示例 1:输入:nums = [90], k = 1输出:0解释:选出 1 名学生的分数,仅有 1 种方法:[90] 最高分和最低分之间的差值是 90 - 90 = 0可能的最小差值是 0示例 2:输入:nums = [9,原创 2022-02-11 22:17:27 · 303 阅读 · 0 评论 -
【LeetCode】差的绝对值为 K 的数对数目
题目描述给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。|x| 的值定义为:如果 x >= 0 ,那么值为 x 。如果 x < 0 ,那么值为 -x 。示例示例 1:输入:nums = [1,2,2,1], k = 1输出:4解释:差的绝对值为 1 的数对为:[1,2,2,1][1,2,2,1][1,2,2,1][1,2,2,1]示例 2:输入:nu原创 2022-02-09 09:49:11 · 1407 阅读 · 0 评论 -
【LeetCode】树:二叉树的最大深度
题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。方法深度优先搜索递归公式最大深度: max(左子树深度,右子树深度) + 1总代码# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0,原创 2022-01-24 18:58:37 · 319 阅读 · 0 评论 -
【LeetCode】删除回文子序列
题目描述给你一个字符串 s,它仅由字母 ‘a’ 和 ‘b’ 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。示例示例 1:输入:s = “ababa”输出:1解释:字符串本身就是回文序列,只需要删除一次。示例 2:输入:s原创 2022-01-22 17:18:47 · 2089 阅读 · 0 评论 -
【LeetCode】存在重复元素 II
题目描述219.给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。示例示例 1:输入:nums = [1,2,3,1], k = 3输出:true示例 2:输入:nums = [1,0,1,1], k = 1输出:true示例 3:输入:nums = [1,2,3,1,2,3], k = 2输出:fa原创 2022-01-19 10:47:20 · 278 阅读 · 0 评论 -
【LeetCode】最小时间差
题目描述539.给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。示例示例 1:输入:timePoints = [“23:59”,“00:00”]输出:1示例 2:输入:timePoints = [“00:00”,“23:59”,“00:00”]输出:0方法开始我们尝试用两个for循环,两两比较所有的数的大小,然后取最小,但发现时间超出了限制。后面我们尝试对数先进行排序。这样比大小的时候一个for循环就可以完成。在对收尾原创 2022-01-18 19:57:46 · 492 阅读 · 0 评论 -
【LeetCode】统计元音字母序列的数目
题目描述给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串:字符串中的每个字符都应当是小写元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)每个元音 ‘a’ 后面都只能跟着 ‘e’每个元音 ‘e’ 后面只能跟着 ‘a’ 或者是 ‘i’每个元音 ‘i’ 后面 不能 再跟着另一个 ‘i’每个元音 ‘o’ 后面只能跟着 ‘i’ 或者是 ‘u’每个元音 ‘u’ 后面只能跟着 ‘a’由于答案可能会很大,所以请你返回 模 10^9 + 7 之后的结果。示例示例原创 2022-01-17 16:25:33 · 105 阅读 · 0 评论 -
【LeetCode】链表随机节点
题目描述给你一个单链表,随机选择链表的一个节点,并返回相应的节点值。每个节点 被选中的概率一样 。实现 Solution 类:Solution(ListNode head) 使用整数数组初始化对象。int getRandom() 从链表中随机选择一个节点并返回该节点的值。链表中所有节点被选中的概率相等。示例输入[“Solution”, “getRandom”, “getRandom”, “getRandom”, “getRandom”, “getRandom”][[[1, 2, 3]], [原创 2022-01-16 21:06:31 · 133 阅读 · 0 评论 -
【LeetCode】计算力扣银行的钱
题目描述Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。示例示例 1:输入:n = 4输出:10解释:第 4 天后,总额为 1 + 2 + 3 + 4 = 10 。示例 2:输入:n = 10输出:37解释:第 10 天后,总额为 (1 + 2 + 3原创 2022-01-15 16:43:50 · 153 阅读 · 0 评论 -
【LeetCode】至少是其他数字两倍的最大数
题目描述747.给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1示例示例 1:输入:nums = [3,6,1,0]输出:1解释:6 是最大的整数,对于数组中的其他整数,6 大于数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。示例 2:输入:nums = [1,2,3,4]输出:-1解释:4 没有超过 3 的两倍大,所以返回 -1 。示原创 2022-01-13 12:14:45 · 173 阅读 · 0 评论 -
【LeetCode】递增的三元子序列
题目描述334.给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1]输出:原创 2022-01-12 20:26:56 · 236 阅读 · 0 评论 -
【LeetCode】重复叠加字符串匹配
题目描述给定两个字符串 a 和 b,寻找重复叠加字符串 a 的最小次数,使得字符串 b 成为叠加后的字符串 a 的子串,如果不存在则返回 -1。注意:字符串 “abc” 重复叠加 0 次是 “”,重复叠加 1 次是 “abc”,重复叠加 2 次是 “abcabc”。示例示例 1:输入:a = “abcd”, b = “cdabcdab”输出:3解释:a 重复叠加三遍后为 “abcdabcdabcd”, 此时 b 是其子串。示例 2:输入:a = “a”, b = “aa”输出:2示例原创 2021-12-22 09:22:46 · 3102 阅读 · 0 评论 -
【LeetCode】一年中的第几天
题目描述1154.给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。请你计算并返回该日期是当年的第几天。通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类推。每个月的天数与现行公元纪年法(格里高利历)一致。示例示例 1:输入:date = “2019-01-09”输出:9示例 2:输入:date = “2019-02-10”输出:41示例 3:输入:date = “2003-03-01”输出:60原创 2021-12-21 20:13:35 · 3542 阅读 · 0 评论 -
【LeetCode】供暖器 (附sort、bisect函数整理)
题目描述475.冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。在加热器的加热半径范围内的每个房屋都可以获得供暖。现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。说明:所有供暖器都遵循你的半径标准,加热的半径也一样。示例输入: houses = [1,2,3], heaters = [2]输出: 1解释: 仅在位置2上有一个供暖器。如果我们将加热半径设为1,那么所有房屋就都能得到供暖。输原创 2021-12-20 10:05:31 · 1772 阅读 · 0 评论 -
【LeetCode】找到小镇的法官
题目描述在一个小镇里,按从 1 到 n 为 n 个人进行编号。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足条件 1 和条件 2 。给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示编号为 a 的人信任编号为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的编号。否则,返回 -1。示例输入:n = 2, trust = [[1,2原创 2021-12-19 10:08:42 · 84 阅读 · 0 评论 -
【LeetCode】重复的子字符串
题目描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。方法计算字符串是否可由整数倍的子字符串组成。总代码class Solution: def repeatedSubstringPattern(self, s: str) -> bool: for i in range(len(s)):原创 2021-12-15 21:00:29 · 951 阅读 · 0 评论 -
【LeetCode】喧闹和富有(图类型:未解决)
题目描述851.有一组 n 个人作为实验对象,从 0 到 n - 1 编号,其中每个人都有不同数目的钱,以及不同程度的安静值(quietness)。为了方便起见,我们将编号为 x 的人简称为 "person x "。给你一个数组 richer ,其中 richer[i] = [ai, bi] 表示 person ai 比 person bi 更有钱。另给你一个整数数组 quiet ,其中 quiet[i] 是 person i 的安静值。richer 中所给出的数据 逻辑自恰(也就是说,在 person原创 2021-12-15 20:22:38 · 53 阅读 · 0 评论 -
【LeetCode】保持城市天际线(附python中map、zip、list、*表达式用法)
题目描述给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑。给你一个下标从 0 开始的 n x n 整数矩阵 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的建筑物的 高度 。城市的 天际线 是从远处观察城市时,所有建筑物形成的外部轮廓。从东、南、西、北四个主要方向观测到的 天际线 可能不同。我们被允许为 任意数量的建筑物 的高度增加 任意增量(不同建筑物的增量可能不同) 。 高度为 0 的建筑物的高度也可以增加。然而,增加的建筑物高度 不能影响 从任何主要方向原创 2021-12-14 10:06:57 · 267 阅读 · 0 评论 -
【LeetCode】快乐数
题目描述202.编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 true ;不是,则返回 false 。示例输入:n = 19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1方法总结原创 2021-12-08 17:01:30 · 174 阅读 · 0 评论 -
【Leetcode】截断句子
题目描述句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。例如,“Hello World”、“HELLO” 和 “hello world hello world” 都是句子。给你一个句子 s 和一个整数 k ,请你将 s 截断 ,使截断后的句子仅含 前 k 个单词。返回 截断 s 后得到的句子。示例输入:s = “Hello how are you Contest原创 2021-12-06 09:10:20 · 58 阅读 · 0 评论