![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日常编程
文章平均质量分 68
.REVOLUTION.
这个作者很懒,什么都没留下…
展开
-
#Tools#VOC xml annotation 解析
'''Projection: Handgestuer Recognitionversion: v1.0Author: GalleryEmail: gaoyu@bupt.edu.cnDate: 2021-03-30 16:15:17'''import numpy as np import pandas as pd import copyimport osimport sysimport globimport cv2try: import xml.etree.cElemen.原创 2021-07-21 15:06:46 · 190 阅读 · 0 评论 -
leetcode_二叉树的前序遍历、中序遍历、后序遍历、层次遍历--递归/非递归实现 & C++11新特性 emplace
题目:专题链接:https://leetcode-cn.com/leetbook/read/data-structure-binary-tree/x63shc/前序遍历:https://leetcode-cn.com/leetbook/read/data-structure-binary-tree/xeywh5/中序遍历:后序遍历:层次遍历:思路:首推很不错的文章:https://leetcode-cn.com/problems/binary-tree-preorder.原创 2021-02-21 10:39:33 · 227 阅读 · 0 评论 -
leetcode116. 填充每个节点的下一个右侧节点指针
题目给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复原创 2021-02-21 09:23:00 · 72 阅读 · 0 评论 -
剑指 Offer 28. 对称的二叉树
题目:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:...原创 2021-02-19 22:24:06 · 75 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第 k 个节点 & 双指针问题
题目输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 2 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.作者:Krahets链接:https://leetcode-cn.com/leetbook/read/illustration原创 2021-02-16 21:33:49 · 93 阅读 · 0 评论 -
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面& C malloc/calloc & 位运算
题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000作者:Krahets链接:https://leetcode-cn.com/leetbook/read/illustration-of-a原创 2021-02-14 12:06:02 · 162 阅读 · 0 评论 -
剑指 Offer 30. 包含 min 函数的栈 & C++stack & python stack
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返...原创 2021-02-13 10:29:18 · 179 阅读 · 1 评论 -
剑指 Offer 09. 用两个栈实现队列 &Python stack & C++ stack
题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入: [“CQueue”,“appendTail”,“deleteHead”,“deleteHead”] [[],[3],[],[]]输出:[null,null,3,-1] 示例 2:输入:[“CQueue”,“deleteHead”,“appendTail”原创 2021-02-11 08:54:12 · 243 阅读 · 0 评论 -
剑指 Offer 06 题目解析 &C++stack & C++ vector
题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制:0 <= 链表长度 <= 10000作者:Krahets链接:https://leetcode-cn.com/leetbook/read/illustration-of-algorithm/5dt66m/来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。思路思路一: 栈,先进后出原创 2021-02-10 15:19:55 · 108 阅读 · 0 评论 -
剑指 Offer 05. 替换空格 & C++ String
题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000作者:Krahets链接:https://leetcode-cn.com/leetbook/read/illustration-of-algorithm/50ywkd/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。思原创 2021-02-10 10:04:04 · 294 阅读 · 1 评论 -
leet124. 二叉树中的最大路径和 & 后序遍历
题目:路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,15,7]输出:42.原创 2021-02-08 13:34:11 · 427 阅读 · 1 评论 -
leet172. 阶乘后的零& M
题目:给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释:3! = 6, 尾数中没有零。示例2:输入: 5输出: 1解释:5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为O(logn)。作者:字节校园链接:https://leetcode-cn.com/leetbook/read/bytedance-c01/ei6om6/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商...原创 2021-02-07 14:08:05 · 65 阅读 · 0 评论 -
leet105. 从前序与中序遍历序列构造二叉树 &106. 从中序与后序遍历序列构造二叉树& STL vector拓展_V2 & unordered_map
题目思路拓展STL vector常用方法总结参考链接:参考一:参考二:源码原创 2021-02-06 22:40:24 · 116 阅读 · 0 评论 -
leet617. 合并二叉树&二叉树的遍历方法-先序、中序、后序、层次(递归)&非递归实现
题目:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 21 2/ \ / \3 2原创 2021-02-02 10:38:00 · 169 阅读 · 0 评论 -
leet257.二叉树遍历所有路径&树的深度优先遍历、广度优先遍历&c++ nullptr
题目:给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-paths著作权归领扣网络所有。商业转载请...原创 2021-01-28 16:51:03 · 252 阅读 · 0 评论 -
leet209. 长度最小的子数组 &滑动窗口
题目:给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。进阶:如果你已经完成了 O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。来源:力扣(LeetCode)链接:https://leetcode-...原创 2020-12-25 14:50:03 · 119 阅读 · 0 评论 -
leet27. 移除元素 & 双指针
D. Tran, L. Bourdev, R. Fergus, L. Torresani, M. Paluri. Learning Spatiotemporal Features with 3D Convolutional Networks. In ICCV, 2015.S. Ji, W. Xu, M. Yang, and K. Yu. 3d convolutional neural networks for human action recognition. IEEE TPAMI, 35(1):221原创 2020-12-22 12:18:14 · 127 阅读 · 0 评论 -
leet3. 无重复字符的最长子串 & C++ string长度 &滑动窗口&C++ STL unordered_set
题目:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,...原创 2020-12-02 10:52:45 · 135 阅读 · 0 评论 -
leet2. 两数相加 & 链表-头结点
题目:给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https...原创 2020-11-24 15:13:52 · 153 阅读 · 0 评论 -
leet167. 两数之和 II - 输入有序数组 & 双指针
题目:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1...原创 2020-11-23 12:40:51 · 92 阅读 · 0 评论 -
leet45. 跳跃游戏 II & 贪心算法
题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。来源:力扣(LeetCode)链接:https://leetcode-cn.com...原创 2020-11-19 09:38:01 · 179 阅读 · 0 评论 -
leet561. 数组拆分 I & 快排 & python sum() & sorted()&切片
题目:给定长度为2n的整数数组 nums ,你的任务是将这些数分成n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到n 的 min(ai, bi) 总和最大。返回该 最大总和 。示例 1:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:1. (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 32. (1, 3), (2, 4)...原创 2020-11-17 16:00:41 · 309 阅读 · 0 评论 -
leet56.合并区间
题目:思路:拓展:c++ sort函数https://xulinjie.blog.csdn.net/article/details/76222112原创 2020-11-12 10:38:40 · 102 阅读 · 0 评论 -
leet4. 寻找两个正序数组的中位数 & STL vector
题目:思路:拓展:C++ vector 零散知识点1、vector 的六种 创建和初始化方法(1): vector<int> ilist1; 默认初始化,vector为空, size为0,表明容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。(2): vector<int> ilist2(ilist);vector<int> ilist2 = ...原创 2020-11-10 10:01:33 · 238 阅读 · 0 评论 -
leet面试题 01.07. 旋转矩阵
题目:给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix =[ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, ...原创 2020-11-09 12:09:51 · 185 阅读 · 1 评论 -
leet171. Excel表列序号
题目:给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1:输入: "A"输出: 1示例2:输入: "AB"输出: 28示例3:输入: "ZY"输出: 701来源:力扣(LeetCode)链接:https://leetcode-cn.com...原创 2020-11-04 15:05:23 · 153 阅读 · 0 评论 -
leet58. 最后一个单词的长度
题目:给定一个仅包含大小写字母和空格' '的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/length-of-last-word著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:思路一:c语言...原创 2020-11-04 09:55:06 · 99 阅读 · 0 评论 -
leet31. 下一个排列
题目:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-permutation著作权归领扣网络原创 2020-11-03 12:53:31 · 103 阅读 · 0 评论 -
leet198.打家劫舍
题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示例...原创 2020-11-02 10:47:34 · 175 阅读 · 0 评论 -
leet25.K 个一组翻转链表
题目:给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->2->1->4->5说明:你的算法只能使用常数的额外空间。你不能...原创 2020-10-30 10:42:38 · 77 阅读 · 0 评论 -
leet面试题 01.08. 零矩阵
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例 1:输入:[ [1,1,1], [1,0,1], [1,1,1]]输出:[ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入:[ [0,1,2,0], [3,4,5,2], [1,3,1,5]]输出:[ [0,0,0,0], [0,4,5,0], [0,3,1,0]]来源:力扣(LeetCode)链接:https://le...原创 2020-10-27 16:03:32 · 110 阅读 · 0 评论 -
#Python#Tools#png转jpg
png文件较大,用于网络训练占用内存过大,可以转换为占用内存较小的有损压缩格式jpg从指定csv读取png文件,然后将其保存到其他路径下同名jpg文件import cv2 as cv from PIL import Imageimport os import csvimport re filePath ="/test/DataAnnotation/2020_HQ_TESTDATA.csv"def PNG_JPG(PngPath,outFilepath): img ...原创 2020-09-29 10:08:39 · 144 阅读 · 0 评论 -
#C/C++#日常学习#常量指针,指针常量区分
2020年8月14日11:36:45 @author:Gallery 常量指针:const修饰的是指针,指针指向可以变,指针指向的值不可以更改 指针常量:const修饰的是常量,指针指向不可以变,指针指向的值可以更改 const同时修饰指针和常量,两者都不可以改变。 为了方便理解见下例子:#include <iostream>using namespace std;int main(void){ int a=10; int b = 20;原创 2020-08-14 11:37:50 · 95 阅读 · 0 评论 -
leet724. 寻找数组的中心索引-----前缀和
问题:给定一个整数类型的数组nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),与右侧数之和 (5 + ..原创 2020-07-30 20:08:46 · 150 阅读 · 0 评论 -
leet98. 验证二叉搜索树
题目:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 ...原创 2020-05-29 12:18:02 · 161 阅读 · 0 评论 -
leet38.外观数列
问题外观数列「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11被读作"two 1s"("两个一"), 即21。21被读作"one 2", "one 1"("一个二","一个一"), 即1211。给定一个正整数n(1 ≤n≤ 30),输出外观...原创 2020-05-23 14:57:56 · 162 阅读 · 0 评论 -
leet7.整数翻转
问题:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。拓展:个人本地测试过long和int内置类型的大小,当发现都为4字节。long并没有提供更大的存储...原创 2020-05-15 13:28:22 · 138 阅读 · 0 评论 -
leet104.二叉树的最大深度 & 二叉树的遍历方法-先序、中序、后序、层次
题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],返回它的最大深度3 。拓展:二叉树的遍历方法二叉树的遍历: 二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次...原创 2020-05-02 17:36:31 · 296 阅读 · 0 评论 -
leet141. 环形链表
题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos =...原创 2020-04-26 17:56:07 · 132 阅读 · 0 评论 -
leet234. 回文链表
题目:回文链表请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题?/**Problem: 回文链表 请判断一个链表是否为回文链表。 @author:G...原创 2020-04-25 14:14:18 · 107 阅读 · 0 评论