自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Star_M的博客

但行好事,莫问前程。

  • 博客(130)
  • 收藏
  • 关注

原创 剑指offer--找出字符串中第一个不重复的字符

找出字符串中第一个不重复的字符chatAt(i) //获取索引i处的字符indexOf(char) //从前往后数,该字符的索引lastIndexOf(char) //从后往前数,该字符的索引public class Main7 { public static void main(String[] args) { String str = "abbcda"; char ch; int start, end; for(int i=0; i<str.leng

2021-01-11 16:45:41 186

原创 labelme标注的文件转换为图片

1.安装labelmeconda create --name labelme python=3.6activate labelmepip install pyqt5conda install labelme接着输入labelme 软件界面就出来了2.标注图片并保存为json格式3.将json转化为图片只需要在anaconda 下进入labelme环境下直接转换,只能转换一张图片labelme_json_to_dataset D:\image\yuantu\000079_crope

2020-12-16 19:31:37 2012

转载 Java集合中List,Set以及Map等集合体系详解

这位大佬总结很好谨此记录,防止忘记

2020-09-11 18:58:07 167

转载 ffmpeg提取关键帧

保存记录,防止忘记参考这位博主的

2020-09-08 16:15:10 1002 1

转载 目标检测性能评价指标(mAP、IOU..)

参考这位博主的解答解释的很详细

2020-09-03 10:57:29 554

转载 opencv用原图和mask图实现抠图

https://www.cnblogs.com/xypbk/p/9116215.html参考这位博主

2020-09-03 10:37:38 1971

原创 剑指offer--反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。思路:三指针新建两个指针用于保存当前节点的前后两个节点解决方法/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head

2020-09-02 11:44:56 74

原创 剑指offer--整数中1出现的次数

题目描述求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路:数学问题;暴力法暴力法:将1-n转换成字符串,判断每一个字符是否等于1解决方法public class Solution { public int NumberOf

2020-09-02 10:26:11 60

原创 剑指offer--559. N叉树的最大深度

题目描述给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :我们应返回其最大深度,3。说明:树的深度不会超过 1000。树的节点总不会超过 5000。思路:递归(深度优先搜索dfs)、迭代(层序遍历)类似的题目还有 二叉树的深度、平衡二叉树遍历多叉树孩子节点的写法for(Node node : root.children){}解决方法/*// Definition for a Node.class Node

2020-09-01 18:39:41 93

原创 剑指offer--12.矩阵中的路径(DFS)

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一

2020-08-29 21:03:14 121

原创 十进制转换为二进制、进制转换

toBinaryString(int i) //返回int变量的二进制表示的字符串 toHexString(int i) //返回int变量的十六进制表示的字符串toOctalString(int i) //返回int变量的八进制表示字符串Integer.toString(10,16) //10为要转换的数,16为要转换进制 (不适用于负数)Integer.parseInt("1010",2);//N进制转换成十进制,返回类型为int,第一个参数为字符串,第二个参数为进制具体

2020-08-27 11:15:40 143

转载 String和char数组之间的相互转换

String 转换为 char数组如果是有分隔符的那种例如"a,b,c";就直接分割就行了.String string = "a,b,c";String [] stringArr= string.split(","); //注意分隔符是需要转译滴...如果是"abc"这种字符串,就直接String string = "abc" ;char [] stringArr = string.toCharArray(); //注意返回值是char数组,返回的是[]使用 String.charAt(

2020-08-26 15:06:56 9170

原创 java输入输出练习

一、字符串难点:每行最后一个字母的后边没有符号public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextLine()){ String[] str = sc.nextLine().split(","); Arrays.sort(str);

2020-08-19 18:12:34 736

原创 剑指offer--64. 求1+2+…+n

题目描述求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000思路:逻辑符短路迭代 存在forpublic int sumNums(int n) { int res = 0; for(int i = 1; i <= n; i++) res

2020-08-18 22:08:21 65

原创 剑指offer- 61. 扑克牌中的顺子

题目描述:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13] .思路:两个条件:无重复,最大值-最小值<5两种方法:Set集合 + 遍历数组排序 + 遍历解决方法:set集合 +

2020-08-18 21:10:32 83

转载 项目讲解-人脸表情识别

这位博主讲解的很详细,在此记录,以供以后学习

2020-08-17 18:13:00 427 1

转载 一个很好、分析很完整的人脸识别的例子

https://blog.csdn.net/huqinweI987/article/details/87884341这位博主

2020-08-17 17:39:09 557

转载 Map m=new HashMap()和HashMap<String,String> m=new HashMap<>()

Map m = new HashMap() 和HashMap h = new HashMap()的区别1、Map<String,String> m=new HashMap<String,String>() Map是个接口 HashMap是它的实现类。 这就是new 了一个对象2、HashMap<String,String> m=new HashMap<String,String>() a、 这种申明方式没有问题。. 只

2020-08-16 21:51:03 2769

原创 java集合框架中的contains()、containsKey()、containsValue()的用法

List集合–>contains()Map集合–>containsKey()和containsValue()List集合的contains()用来判断list集合中是否含有某个元素,返回值为boolean型Map集合的containsKey()和containsValue()public static void main(String[] args) {List list = new LinkedList();list.add(“A”);list.add(“B”);list.ad

2020-08-16 21:42:03 1080

原创 剑指offer-- 29. 顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <=

2020-08-15 13:55:20 85

原创 for(Strings:str) 和 Arrays.sort()的理解

一、for(String s:str){ System.out.print(s);}等同于for (int i = 0; i < str.length; i++) { String s = str[i]; System.out.print(s);}是J2SE 1.5提供的另一种形式的for循环,可以用来处理不知道str长度的情况二、Arrays.sort();对一个数组的所有元素进行排序,并且是按从小到大的顺序.使用前需要导入包 import java.util.Array

2020-08-14 22:01:15 1007

原创 java中int String的类型转换

int -> Stringint i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i);区别第一种方法:s=i+""; //会产生两个String对象第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象String -> ints=“12345”;int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.value

2020-08-14 21:27:16 72

原创 java中常见的输入输出-Scanner类

一、Scanner 类的next() 和 nextLine() , hasNext() 和 hasNextLine()通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据二、next()和hasNext()区别next()和hasNext()效果其实是一样的,系统都会等待输入下一个字符,只是返回值不同,hasNext()会返回true,next()返回输入的字符。

2020-08-14 16:41:52 1368

原创 java面向对象的三大特性

面向对象的语言有 : C++ 、 Java 、 C#等一、封装封装就是把一个对象的属性私有化,同时提供一些可以被外部类访问的属性的方法封装的优点:1.良好的封装可以减少耦合2.类内部的机构可以自由修改3.隐藏信息、实现等细节4.可以对成员变量更精确的控制二、继承使用继承可以用来复用代码。可以将所有子类的共同属性放入父类中。关于继承要记住三点:1.子类拥有父类的所有非paivate的属性和方法2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展3.子类可以用自己的方式实现父类的

2020-07-25 20:42:17 131

原创 剑指offer-- 30.包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 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(); --> 返回 0

2020-07-24 17:54:14 73

原创 剑指offer-- 66. 构建乘积数组

题目描述给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数a.length <= 100000思路:分成上三角和下三角注意上三角和下三角要有技巧的乘解决方法class Solution { public i

2020-07-20 17:51:24 63

原创 剑指offer--62. 圆圈中最后剩下的数字

题目描述0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 <= n <= 10^51 <= m <= 10^6思路:数学解法–约瑟夫环

2020-07-20 15:26:55 103

原创 剑指offer--18删除链表的结点

题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数

2020-07-20 10:57:19 60

原创 剑指offer--52. 两个链表的第一个公共节点

题目描述输入两个链表,找出它们的第一个公共节点示例:思路:双指针;引用一位大佬的解释使用两个指针nodeA nodeB分别指向两个链表的头节点headAheadB,然后同时遍历分别遍历,当nodeA节点到达链表A的结尾时,重新指向headB链表的头结点;当nodeB结点到达链表B的结尾时,重新指向headA链表的额头结点。解决方法/** * Definition for singly-linked list. * public class ListNode { * i

2020-07-17 21:25:39 819 1

转载 三次握手、四次挥手

这位博主写的非常好

2020-07-15 12:19:11 69

原创 剑指 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:输入:root = [1,2,2,null,3,null,3]输出:f

2020-07-14 21:31:49 73

原创 剑指offer--68 - II. 二叉树的最近公共祖先(还不理解。。。)

题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5

2020-07-13 20:37:35 84

原创 剑指offer--68.I 二叉搜索树的最近公共祖先

题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6解释: 节

2020-07-13 17:16:11 152

原创 剑指offer-- 32 - III. 从上到下打印二叉树 III

题目描述请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[20,9],[15,7]]提示:节点总数 <= 1000思路:在II的基础上改进,将list的尾部添加->头部添加可以使用addFirst()、addLast() 是Li

2020-07-07 18:22:52 87

原创 剑指offer--32 . II 从上到下打印二叉树 II

题目描述从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]提示:节点总数 <= 1000思路:每层都放入一个list,通过for循环quque.size()来分辨每一层解决方法/** * Definition for a binary tree node. * public

2020-07-07 16:43:08 133

转载 java中的空值、空对象、空格

//空对象String s = null空对象是指定义了一个对象,但是没有给该对象分配空间,即没有实例化该对象。因此空对象再调用所有对象方法时,如s.length,s.size()会抛出异常。//空值String s = "";空值是指改字符串对象已经实例化,即系统已经给该对象分配了空间,只是对象的内容为空。//空格String s = " ";空格是指对象已经实例化,但是对象的内容为空格。对于上述三种情况,如何判断一个字符变量属于上述类型1. 空对象判断s == null;

2020-07-06 21:10:18 1183

原创 java中深拷贝和浅拷贝

深拷贝和浅拷贝最根本的区别在于是否获取一个对象的复制实体,而不是引用。假设B复制了A,修改A时,看B是否发生变化:如果B跟着也变了,说明是浅拷贝,拿人手短!(修改的是堆内存中的同一个值)如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址。当b=a进行拷贝时,其实复制的是a的引用地址,而并非堆里面的值。仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来的对象也会相应的改变。深拷贝(deepCopy

2020-07-04 17:45:22 116

转载 java的一些面试题目

参考这位博主

2020-07-04 17:32:10 91

原创 剑指offer-- 32 - I. 从上到下打印二叉树

题目描述从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回:[3,9,20,15,7]提示:节点总数 <= 1000思路:二叉树的层序遍历BFS利用队列层序遍历每个节点动态数组ArrayList动态添加每个节点值解决方法/** * Definition for a binary tree node. * public class TreeN

2020-07-02 17:05:55 118

转载 HashMap和Hashtable的区别

HashMap和Hashtable都实现了Map接口,但是具体用哪个,还要看他们两个的区别:1.线程安全性Hashtable是线程安全的,它的每个方法中都加入了Synchronize方法。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步(可以多个线程可以共享一个Hashtable)HashMap不是线程安全的,在多线程并发的环境下,可能会产生死锁等问题。使用HashMap时就必须要自己增加同步处理2.同步和速度由于Hashtable是线程安全的,也是synchro

2020-07-01 19:38:32 2445

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除