自定义博客皮肤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的博客

但行好事,莫问前程。

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

转载 java中的拆箱、装箱以及Integer int的区别

1.拆箱、装箱//自动装箱Integer s1 = 99;//自动拆箱int s2 = s1;装箱:自动将基本数据类型转换成包装器类型拆箱:自动将包装器类型转换成基本数据类型2.拆箱、装箱的执行过程装箱是通过调用包装器类的 valueOf 方法实现的拆箱是通过调用包装器类的 xxxValue 方法实现的,xxx代表对应的基本数据类型。如int装箱的时候自动调用Integer的valueOf(int)方法;Integer拆箱的时候自动调用Integer的intValue方法。3.常见问

2020-06-30 22:20:38 198

转载 Stack,ArrayDeque,LinkedList的区别

类继承树由继承树看出,三者都是Collection的间接实现类。ArrayDeque实现Deque接口,Stack继承于Vector,LinkedList实现Deque与List接口。区别底层数据存储方式存储方式Stack长度为10的数组ArrayDeque长度为16的数组LinkedList链表方法参照表线程安全性能选项 通常情况下,不推荐使用Vector以及其子类Stack1.需要线程同步使用Collections工具类中synch

2020-06-30 21:25:43 293

转载 java中的isEmpty() null “ “的关系

2020-06-30 21:09:46 295

原创 **剑指offer--54. 二叉搜索树的第K大节点

题目描述给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:输入: root = [3,1,4,null,2], k = 13/ 1 42输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 35/ 3 6/ 2 4/1输出: 4限制:1 ≤ k ≤ 二叉搜索树元素个数思路:二叉搜索树的中序遍历是递增序列、递归递归思路:终止条件:root为空时,直接返回递归右子树统计序号k=k-1(k减到0);

2020-06-30 18:22:15 178

原创 剑指offer--25. 合并两个排序的链表

题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000思路:伪头节点初始化一个辅助节点temp,作为合并链表的伪头节点,将各节点添加在temp节点之后;节点cur指向伪头节点temp;合并链表的节点在temp.next之后时间复杂度:O(m+n),m,n分别是链表l1和l

2020-06-29 17:18:14 81

原创 剑指offer--24.反转链表

题目描述:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000思路:双指针迭代,递归法解决方法:1. 递归解法递归的两个条件:(1)终止条件:当前节点或下一个节点等于null(2)在函数内部,改变节点的指向:head.next.next=head找到当前链

2020-06-28 21:22:27 101

原创 剑指offer-- 06. 从尾到头打印链表

题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000思路:辅助栈法链表特点: 只能从前至后访问每个节点。题目要求: 倒序输出节点值。这种 先入后出 的需求可以借助 栈 来实现。通过LinkedList类来实现栈入栈:遍历链表,将各节点的值入栈,借用LinkedList的addLast()方法入栈出栈:将各节点的值出栈,并存于数组中,借用Lin

2020-06-27 21:34:20 85

转载 LinkedList类的常用方法

ArrayList和LinkedList的区别:ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。而LinkedList 是以链表实现的,插入、删除时只需要改变前后两个节点指针指向即可,省事不少。LinkedList类的常用方法public boolean add(Object element)向链表末尾添加一个新节点,该节点中的数据是参数element指定的对象public void add(int index,Object element)

2020-06-27 21:03:58 614

原创 poll()和remove()方法的区别

1.poll() 方法和 remove() 方法的区别?poll() 和 remove() 都是从队列中取出一个元素,但是 poll() 在获取元素失败的时候会返回空,但是 remove() 失败的时候会抛出异常。add()和offer()方法同理

2020-06-27 20:51:01 2054

原创 剑指offer--55 - I. 二叉树的深度

题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。提示:节点总数 <= 10000思路:递归,层次遍历(队列)数的遍历可以分为:深度优先搜索DFS、广度优先搜索BFS深度优先搜索一般利用递归、栈实现广度优先搜索一般利用队列实现解决方法一、递归树的深度:左子树的

2020-06-24 11:36:33 190

转载 java的队列 Queue和LinkedList

队列(queue)的用法队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。import java.util.LinkedList;import java.util.Queue; public class Main { public static void main(String[] args) { //add()和remove()方法在失败的时

2020-06-24 10:15:05 838

原创 剑指offer--22. 链表中倒数第k个节点

题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路:双指针前指针former先向前走k步,接着前指针former和后指针later一起动时间复杂度:O(n)n为链表长度,forme

2020-06-23 21:28:06 81

原创 2020年招银网络科技测开笔试题(代码题)

题目:斐波那契数列:0、1、1、2、3.。。。求前n个斐波那契数列中“1”出现的次数,比如前10个斐波那契数列中1出现的次数为4import java.util.*;/** * 招商银行测开笔试题 * 求前n个斐波那契数列中“1”出现的次数 * @author Star Ma * */public class Test03 { public static int fib(int n) { int a=0,b=1; int count=1; StringBuffer s =

2020-06-23 20:32:05 13375

原创 剑指offer--面试题 58 - II. 左旋转字符串

题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”限制:1 <= k < s.length <= 10000思路:字符串切片函数、列表

2020-06-19 21:26:17 147

转载 java的Set集合

Set集合的特点:不能存储相同的元素。同时因为其是一个抽象的接口:所以不能直接实例化一个set对象。(Set s = new Set() )错误该接口主要继承于Collections接口,所以具有Collection的一些常见的方法。常见的方法:add( ) 向集合中添加元素clear( ) 去掉集合中所有的元素contains( ) 判断集合中是否包含某一个元素isEmpty( ) 判断集合是否为空iterator( ) 主要用于递归集合,返回一个Iterator()对象remove(

2020-06-19 20:58:01 83

转载 java中length、length()、size的区别

首先区分一下length和length();length不是方法,是属性,数组的属性;public static void main(String[] args) { int[] intArray = {1,2,3}; System.out.println("这个数组的长度为:" + intArray.length);}length()是字符串String的一个方法;public static void main(String[] args) { String str = "HelloWo

2020-06-19 20:17:09 454

转载 java中String类的常用函数以及append()方法

这位博主写的很全一、String s = new String(“hello”)和String s =“hello”; 的区别:==:比较的是引用类型,比较的是地址值即:System.out.println(s1 == s2); // falseequal():默认比较的是地址值。String类重写了equals()方法,该方法的作用是比较字符串的内容是否相同System.out.println(s1.equals(s2)); // true二、 * 字符串变量相加:先开空间,再加内容字

2020-06-19 19:57:30 21153 3

原创 java中的String 、StringBuffer、StringBuilder

参考这篇博客

2020-06-18 22:02:48 116

原创 剑指offer--面试题11. 旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0思路:二分法需要考虑三种情况:numbers[high] > numbers[mid]时,high=midnumbers[high] < numbers[m

2020-06-18 21:28:05 118

原创 剑指offer--面试题21. 调整数组顺序使奇数位于偶数前面

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000思路:双指针解决方法我的思路:双指针class Solution { public int[] exchange(int[

2020-06-17 21:15:45 84

原创 剑指offer--面试题57 - II. 和为s的连续正数序列

题目描述输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= target <= 10^5思路:滑动窗口,双指针法和和为s的两个数这个题类似和为s的两个数:利用双指针解决和为s的连续正

2020-06-17 19:13:47 178

原创 剑指offer--数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000考点:我的思路:哈希集合哈希HashMap的方法在这里解决方法class Solution { public int majorityElement(int[] nums) { Map<Integ

2020-06-16 22:00:02 102

原创 java的HashMap

HashMap哈希集合Map map = new HashMap();这个其实你定义的是一个接口,你调用这个接口来实现你要完成的动作,这样别人直接用你这个接口就可以了,而不用关心你具体是怎么实现这个接口的,假如以后有变动的话,你不用在去管这个接口,只去改下你的实现类就可以了,方便维护,隔离性强。HashMap map = new HashMap();而这个 你定义的就是一个实现类,你把这个实现类给别人用,在出现问题和改动的话,那么程序就无法运行,凡是用到这个类的地方都要修改,维护起来很麻烦,而上面的接口

2020-06-16 20:50:26 87

原创 剑指offer--连续子数组的最大和(动态规划)

题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100考点:动态规划用动态规划解决的情况就是会有反复出现的子问题,然后这些子问题还会包含更

2020-06-16 18:00:03 130

原创 剑指offer--和为s的两个数字

题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.length <= 10^51 <= nums[i] <= 10

2020-06-16 16:21:42 152

原创 java返回两个变量

return new int[] {i, j};剑指offer- -和为s的两个数字class Solution { public int[] twoSum(int[] nums, int target) { //返回值类型是整型数组 int i=0, j = nums.length-1; //int[] res=new int[2]; while(i<j){ int sum = nums[i] + nums[j];

2020-06-16 16:03:30 1139

原创 剑指offer--二进制中1的个数

题目描述请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000

2020-06-16 12:12:12 100

原创 java的右移运算符

java提供两种右移运算符,都是位运算符。位运算符用来对二进制进行操作>>:算数右移运算符,也称带符号右移。用最高位填充移位后左侧的空位>>>:逻辑右移运算符,也称无符号右移。只对位进行操作,移位后用0填充左侧的空位运算规则>>:把二进制数向右移动对应位数,低位舍弃,高位的空位补符号位。正数补0,负数补1,符号位不变>>>:把二进制数向右移动对应位数,地位舍弃,高位补0 。对于正数来说和带符号右移相同,对于负数来说不同。...

2020-06-16 11:54:47 1587

原创 剑指offer--面试题53 - I. 在排序数组中查找数字 I

题目描述统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000思路:排序数组的查找用二分法解决方法class Solution { public int search(int[] nums, int target) { int low=0,

2020-06-16 11:22:17 198

原创 剑指offer--0~n-1中缺失的数字

题目描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8限制:1 <= 数组长度 <= 10000思路:有序的数组的查找用二分法注意:这个题有点绕数组长度为n-1每个数字的范围是0~n-1只需要对数组下标利用二分法进行操作,最后的返回值一定是lo

2020-06-15 21:28:48 226

原创 剑指offer--翻转字符串的内容

题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a

2020-06-15 20:39:54 165

转载 java中字符串 str==null 和str.length(),==和equals的区别

null就是空,不占用内存空间,没有任何属性,也不能读取属性,即没有.length()等;而 .length() == 0,此刻是一个字符串,已经为其分配了一定的内存空间。若定义任何一个对象不使用new关键字Object O,O这时候就是null,此时使用O.任何属性方法都是不可接受的报错,只有 = new Object()之后才有意义。————————————————版权声明:本文为CSDN博主「WukongGo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

2020-06-15 19:49:00 537

原创 java中String类的trim()和split()方法

trim()trim() 方法用于删除字符串的头尾空白符。String Str = new String(" www.runoob.com ");Str.trim();split()split() 方法根据匹配给定的正则表达式来拆分字符串public String[] split(String regex, int limit) //regex正则表达式分隔符。limit 分割的份数。//使用方法String str = new String("Welcome-to-Run

2020-06-15 17:41:57 1180

转载 java中的String和char

一 char和string的区别: 1 char是表示的是字符,定义的时候用单引号,只能存储一个字符。例如; char='d'. 而String表示的是字符串,定义的时候用双引号,可以存储一个或者多个字符。例如:String=“we are neuer”。2 char是基本数据类型,而String是个类,属于引用数据类型。String类可以调用方法,具有面向对象的特征。二 char类型 char在Java中是16位的,因为Java用的是Unicode。三 String类型

2020-06-14 19:47:46 597

原创 deeplabv3+可视化X_viaualization.py

X_viaualization.py利用训练好的模型对输入的图片可视化展示,随便输入一张图片# -*- coding: utf-8 -*-import timefrom matplotlib import gridspecfrom matplotlib import pyplot as pltimport numpy as npfrom PIL import Imageimport cv2 as cvimport tensorflow as tf#这个地方指定输出的模型路径TEST_

2020-06-11 20:49:49 462

原创 python修改图片的大小

'''import osfrom PIL import Imagedef save_resize_img(img_path, img_path_train, width, height): if not os.path.exists(img_path_train): os.mkdir(img_path_train) number = 0 for label_name in os.listdir(img_path): if not os.pat

2020-06-11 19:04:38 2933 1

原创 修改xml的属性值

# coding=utf-8import osimport os.pathimport xml.dom.minidom#更改xml文件中name和folder属性值path = "F:/mx_matting/ssd.pytorch-master/data/VOCdevkit/VOC2007/Annotations"files = os.listdir(path) # 得到文件夹下所有文件名称for xmlFile in files: # 遍历文件夹 if not os.path

2020-06-11 18:58:15 898

原创 裁剪图片

# - *-coding=utf-8 -*-'''将瑕疵图片的boundingbox截取下来作为新的一张图片同时resize到跟原始图片统一大小'''import cv2import osdef show_pic(img, bboxes=None): ''' 输入: img:图像array bboxes:图像的所有boudning box list, 格式为[[x_min, y_min, x_max, y_max]....]

2020-06-11 18:54:01 307

原创 给图片设置透明度

from PIL import Imageimg = Image.open("F:/mx_matting/test_pic/img_resize/erzhitu_bai/000006_croped7_2.png")img = img.convert('RGBA') # 修改颜色通道为RGBAx, y = img.size # 获得长和宽#设置每个像素点颜色的透明度for i in range(x): for k in range(y): color = img.getp

2020-06-11 18:41:27 1176

原创 利用mask图(二值图)和原图实现扣除前景/背景

利用mask图(二值图)和原图实现扣除前景/背景test.pyimport cv2from PIL import Imageimport numpy as npyuantu = "F:/mx_matting/test_pic/img_resize/yuantu/000082_croped83.jpg"masktu1 = "F:/mx_matting/test_pic/img_resize/erzhitu/000082_croped83_2.png"masktu2 = "F:/mx_matti

2020-06-11 18:10:59 2556 1

空空如也

空空如也

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

TA关注的人

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