自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 python 小技巧\错误 记录

reverse函数能使调用它的列表变为逆序,但是调用这个函数是没有返回值的list_2=list_1.reverse() 不能得到list_1的逆序列表,此时的list_2是Nonelist_1.reverse()能使list自身的元素变为逆序python可以通过函数改变列表,字典等的值,不能改变字符串或者数字的值...

2021-05-03 13:02:01 67

原创 leetcode刷题分类及API

一、题目分类1.数组1)leetcode1两数之和2)leetcode11 盛最多的水的容器3)leetcode15 三数之和2.链表1)leetcode2 两数相加3.字符串1)leetcode3 无重复的最长子串2)leetcode5 最长回文子串3)正则表达式匹配二、API1. String2.ArrayListadd(T t); addAll(LIst list);3.LinkedList4.Stack5.HashMapbo..

2020-06-23 13:10:27 852

原创 刷题知识点分类汇总(剑指offer+leetcode+笔试/面试)

类别1 数组(10)1. 二维数组中的查找if...else这种还是写括号的好,像这种 if(target>array[i][j]){ j++; }else{ i--; }不要简写,也不要写两个if,不然可能出错13. 调整数组顺序使奇数位于偶数前面 (插排)两种解法:解法1:空间替代时间 解法2:插排的思想遇到...

2020-04-26 20:42:19 1907

原创 java多线程总结

1.创建线程的四种方式https://blog.csdn.net/weixin_42582008/article/details/1006777862.线程的状态及影响线程状态的一些方法1)5种状态或6种状态2)终止线程的3个方法3)线程中断4)等待(wait)和通知(notify)及睡眠(sleep)5) 挂起(suspend)和继续执行(resume)方法6) ...

2020-04-15 16:20:45 146

原创 JVM

JVM(1) 基本概念(是什么,由什么组成,有什么用)JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收堆和一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。(2) 运行过程:...

2020-03-26 18:22:59 99

原创 二、java集合框架

集合类存放于java.util包中,主要有3种,set、list(包含Queue)和Map(映射)1. Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 2. Iterator:迭代器,可以通过迭代器遍历集合中的数据 3. Map:是映射表的基础接口。(1)ListJava 的 List 是非常常用的数据类型。List 是有序的 C...

2020-03-22 17:23:01 110

原创 一、java基础

1.重载和重写的区别重载: 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以 不同,发生在编译时。重写: 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类, 访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能重写该方法、2.String 和 StringBuffer...

2020-03-21 12:47:28 203

原创 剑指offer刷题API总结

剑指offer刷题API总结1.数组int[] arr =new int[length];arr.length;2.字符串StringStringBuilderStringBuffer

2020-02-21 12:29:58 91

原创 剑指offer--数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。方法一:思路,使用一个HashMap,key为数组中的数字,value为出现次数,遍历一遍构建HashMap,然后再遍历一遍HashMap,找到value值为1的key。时间复杂度O(n),空间复杂度O(n)知识点:HashMap的定义,判断某个对象是否是hashMap的key,ge...

2019-10-10 20:27:55 74

原创 与并发有关的设计模式

主要参考《实战java高并发程序设计》一、单例设计模式单例设计模式是一种对象创建模式,用于产生一个对象得具体实例,它可以确保系统中一个类只产生一个实例。这样做得好处:1.对于频繁使用的对象,可以省略new操作花费的时间。2. 由于new操作次数的减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间。单例实际模式与并发关系不大,但在多线程环境中会用到单例设计模...

2019-10-06 11:23:44 195

原创 剑指offer——数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%1...

2019-10-04 08:55:30 100

原创 锁的优化及注意事项

多线程存在的效率问题:各线程的元数据,上下文切换,线程调度等1.有助于提高锁性能的几点建议1.1 减少锁持有的时间只在需要的代码段加锁,不要将不必要的内容加到同步代码方法或同步代码块中。1.2 减小锁粒度和1.1的方法的差不多,缩小锁定对象的范围,从而降低锁冲突的可能性。1.3 用读写分离锁来替换独占锁1.4 锁分离与读写锁的思路类似,对于一个对象,不使用独占锁,而...

2019-10-02 20:12:39 131

原创 Java中的原子类

主要参考《实战java高并发程序设计》、《并发编程的艺术》,感觉学习这13个原子类,还是要自己动手写一些,试一试,才能理解它们的用法和不同之处。1.原子类的引入以及AtomicInteger首先看一个例子:public class AtomicNoIntegerDemo { static int i = 0; public static class AddThread...

2019-09-30 17:19:07 134

原创 剑指offer——丑数

题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路一:此方法在牛客网超时,当然也有可能是我代码的问题。如何判断一个数是否只包含因子2呢,将这个数对2取余,如果为0,就将它的值赋值为原来的值除以2,直到对2取余不为0,如果这时这个数为1,那么...

2019-09-30 10:56:37 71

原创 java并发容器

看《java并发编程的艺术》,发现这一章中很多内容是基于java7甚至更早之前的jdk版本,导致一些内容已经过时了,所以这里记录一下新的java并发容器的内容,内容主要来自《java并发编程的艺术》,《实战java高并发程序设计》。jdk提供的线程安全的并发容器大部分在java.util.concurrent包中,下面是一些常用的类,java.util中的Vector也是线程安全的,但是效率较...

2019-09-28 11:05:38 1415

原创 剑指offer——把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解析:思路一:列出所有可能的排列,然后找出其中最小的一个,时间复杂度O(n!),求所有排列的方法,可以看《剑指Offer》中“字符串的排列”那道题目的解法。代码如下:import java.ut...

2019-09-27 18:50:33 96

原创 剑指offer——整数中1出现的次数(从1到n整数中1出现的次数)

题目描述:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。解析:注意是1出现的次数,而不是含有1的数字出现的个数,如11,...

2019-09-23 20:54:17 92

原创 剑指offer——连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序...

2019-09-19 19:29:06 69

原创 partition、快排和随机快排

做了《剑指offer》中最小的k个数的题目(详情可见这篇博客https://blog.csdn.net/weixin_42582008/article/details/100937950)和数组中出现次数超过一半的数字的题目(详情可见这篇博客https://blog.csdn.net/weixin_42582008/article/details/100760644)都可以用partit...

2019-09-18 16:23:50 670

原创 多线程的概念和一些问题总结

1.进程和线程间的区别:进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。线程又叫做轻量级进程。线程与进程的区别归纳:a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。c...

2019-09-17 20:55:56 98

原创 剑指offer——最小的k个数

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。最容易想到的方法是排序,然后找出前k个数,但这种思路明显是不可能是面试官想要的。解法1:利用快速排序种partition思路,partition方法可以让数组分为三部分,小于某个数的部分,等于某个数的部分,大于某个数的部分(下面代码中等于和大于这个数做了...

2019-09-17 20:52:45 103

原创 剑指Offer——二叉搜素树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解析非递归解法二叉搜索树的特征是左子树中节点的值小于根节点的值,右子树的节点的值大于根节点的值。所以中序遍历的顺序就是排序的双向链表从左向右的顺序。所以非递归中序遍历搜索二叉树,遍历过程中,节点保存在栈里面,以一个pre记录前一个节点,当前遍历的节点左left指...

2019-09-12 19:11:34 60

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

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解析:一种很常规的思路是排序,排过序后,从首元素开始遍历数组,用一个整型变量times记录次数,一个整型变量记temp录正在判断的数字,如果遍历到的数字和正在判断的数字相...

2019-09-12 08:49:16 95 1

原创 线程的状态及影响线程状态的一些方法

一、线程的状态图片来源:牛客网https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21081&query=&asc=true&order=&page=131.新建(new):新创建了一个线程对象。2.可运行(runnable):线程对象创建后,其他线程(比如m...

2019-09-11 09:07:34 211

原创 java线程的创建

线程的创建 创建线程对象有4种方式:1.继承Thread类 2.实现Runnable接口3.使用Executor框架来创建线程池4.实现Callable接口。一个新的线程对象是由其parent线程(默认在哪个线程中创建线程对象,哪个线程就是这个新线程的parent线程,如在main函数中创建线程对象,则main线程就是新线程的parent线程)来进行空间分配的,child线程继承了par...

2019-09-11 09:06:37 107

原创 剑指offer——字符串的排列

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解析:这道题目主要是考察递归的思想,以及如何完成排列组合类的问题。递归思想:将一个大问题分解为一些易于解决的小问...

2019-09-10 19:26:15 87

原创 二叉树的非递归遍历

之所以想总结二叉树的非递归遍历,主要是因为在做《剑指offer》中“二叉树和双向链表”题目时,有递归方法和非递归方法,让我了解到我对二叉树的非递归遍历不熟悉,所以想着总结一下。 经过自己实验这几种代码的编写,我最大的感受是,对于每一个节点,都要当成一颗二叉树来看待,不管它左右子树是否为空,当然不同情况要有不同的处理方法。非递归中序代码(可运行) 由...

2019-09-09 18:32:35 105

将flask 微服务项目部署到阿里云服务器

1. linux本地版本地运行还挺容易的1.nameko需要依赖于rabbitMQ-server ,apt install rabbitmq-server2.然后在终端运行nameko run xxx,安装需要的包(nameko,pyMysql,DBUtils等),因为上面安装的是在虚拟环境中的3.在pycharm中打开flask项目,运行前要选择一个解释器,安装需要重新安装...

2019-05-30 14:59:31 1002

原创 window10 python3.6下安装CPU版 tensflow

windows下安装CPU版tensflow比较简单,是不需要安装anaconda的(至于安装tensflow后,会不会用到anaconda,还不太清楚),直接pip install tensorflow即可,失败的原因可能是pip默认使用国外的源,速度很慢,可能会超时,超时就会显示失败。 所以可以将源更换到国内镜像,https://blog.csdn.net/s...

2019-05-28 15:10:04 236

原创 廖雪峰老师Git学习笔记

1.Git简介Git是目前世界上最先进的分布式版本控制系统。特点很鲜明:分布式,版本控制。Git的诞生:2005年2.Git安装我用的是ubuntu,所以可以通过 sudo apt-get install git 安装。安装完成后,还需要最后一步设置,自报家门,输入自己的名字和邮箱,在命令行输入:$ git config --global user.name "Your ...

2019-01-28 11:33:46 153

原创 MySQL必知必会(第三章)

了解数据库和表1.SHOW DATABASES;返回可用数据库的一个列表。包含在这个列表中的是MYSQL内部可使用的数据库。2.USE images360;想操作images360,输入USE images360;3.SHOW TABLES;返回当前选择的数据库内可用表的列表 4.SHOW COLUMNS FROM images;返回指定表(这里是ima...

2018-12-13 18:29:39 124

原创 MySQL必知必会(第二章)

MySQL简介2.1 什么是MySQLMySql是一种DBMS,优点是成本低,性能高,可信赖,简单客户机,服务器软件的数据库:MySql,Oracle及Microsoft SQL Serve等数据库是基于客户机—服务器的数据库。客户机和服务器软件可能安装在两台计算机或一台计算机上。服务器部分是负责所有数据访问和处理的一个软件。客户机是与用户打交道的软件。2.2 MySQL工...

2018-12-13 14:58:28 124

原创 MySQL必知必会(第一章)

1.1数据库基础数据库:保存有组织的数据的容器。(可以将它将其想象为一个柜子)注意:数据库和数据库软件是不同的,数据库软件应称为DBMS(数据库管理系统),数据库是通过DBMS创建,访问和操纵的容器。表:某种特定类型数据的结构化清单。如顾客表,订货表(划重点:特定类型)数据库中的每个表都有一个名字,用来表示自己,在相同的数据库中不能两次使用相同的表名,但在不同的数据库中却可以使用相...

2018-12-09 22:15:03 102

原创 Matplotlib:Adding an axes using the same arguments as a previous axes

学习《机器学习实战》kNN时,在使用Matplotlib画图时,发现了一个WariningMatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance.  In a future version, a ...

2018-12-03 16:29:31 19573 4

空空如也

空空如也

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

TA关注的人

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