自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vmware,ubuntu16.04,克隆多个虚拟机

关键点,vmware的编辑选项中可以查看虚拟网络编辑器,然后查看子网ip比如192.168.6.0那么所有的克隆的虚拟机都要在这个区段,就是前面的192.168.6都是一样的改ip地址就是sudo gedit/vi /etc/network/interfaces,桌面版的可以使用gedit。然后更改里面的ip地址和网关即可---DHCP每次都是自动设置ip地址,这样就不能每次都用mobaxterm之类的工具连服务器了--克隆虚拟机可以不用每次重装一堆软件,很方便,但是要注意重新设置ip地

2021-03-30 16:24:25 664

转载 kwargs在python中的含义

def foo(*args, **kwargs):print 'args = ', argsprint 'kwargs = ', kwargsprint '---------------------------------------'if __name__ == '__main__':foo(1,2,3,4)foo(a=1,b=2,c=3)foo(1,2,3,4, a=1,b=2,c=3)foo('a', 1, None, a...

2020-10-14 16:17:05 1361

原创 CountDownLatch,CyclcBarrier

CountDownLatch:就是老师去上课发现学生们都没到教室,然后等他们全部进入教室再上课。就是分总结构CyclcBarrier:就是跑步比赛,先要大家一起准备好,然后告诉指挥员自己准备好了,等所有人都准备好了,一声枪响,大家同时一起跑。就是分分结构...

2020-09-26 20:37:54 166

原创 leetcode32,最长有效括号

https://leetcode-cn.com/problems/longest-valid-parentheses/这题用动态规划,但是那个递归公式才是最难的。先定义dp[i]的含义:以第i个字符为尾的最长有效括号的长度。题解中分了两种情况:1. 倒数第二个为(,即..........(),这种情况,dp[i]=dp[i-2]+2;简单想一下,倒数第一能和其他的( 匹配吗,显然不能,否则倒数第二个匹配个寂寞啊。2. 倒数第二个为 ),即 .....(.....)),对于这周..

2020-08-19 20:43:23 986

原创 关于ThreadLocals中的hashcode计算方法

那个每次增加的值如上。。查阅资料发现跟黄金分割比有关但不是直接用黄金分割比,经过计算,得到如上。。

2020-08-13 19:58:41 559

原创 redis解析啊

sdshdr中的hdr是指header.............注释一下会死吗,这种缩写着重讲一下sdshdr5这种特殊的数据结构,求剩余空间的时候之间返回0,而其他的则返回alloc-len。另外,sdshdr5的flag前面也没有len,alloc这两个字段了。空间集器节省。what's more,对于字符串类型,一般key很短的时候可能用sdshdr5存储,但是value一般至少是sdshdr8。。因为key不变,只会被删除,而value可能会变。zset的两种实现,skiplist,z.

2020-08-05 16:23:18 107

原创 二分法

二分法好像永远都是一道坎啊,总有新的东西可以谈谈。以pdd的一道题为例底下的解法就有用二分法来做的,但是一个点在于,可能有很多个值满足条件(小于该值的数量为k个),但是我们要找到的是恰好为k个,减去1之后就不是k个了。也就是最左边的满足条件的值。最重要的是可能等于k的时候,那个边界值不能变。否则可能错过这里最难的是我们知道二分法可以求出小于该值数量为k的值,但是怎么收敛到刚刚好呢??需要细细品味。...

2020-08-02 15:28:58 118

原创 leetcode377与leetcode518

这两题其实很相似,即第377题去重之后就成了518的答案。查看二者的代码也是及其相似:这种小而精的问题值得好好琢磨总结。//leetcode377 public int combinationSum4(int[] coins, int amount) { int[]dp=new int[amount+1]; dp[0]=1; Arrays.sort(coins); for(int x=1;x<=amount;x++){

2020-07-27 11:12:39 146

原创 面经独一份

1. header常用头部2. http请求过程3. get,post请求过程4. http报文格式5. dns请求过程6.

2020-07-27 11:12:16 70

原创 PFADD 中的PF是啥,PX中的PX又是啥

不会有人光记命令吧,不会吧。一直对各种命令的缩写都很好奇,一般常见的缩写也能猜到是啥,但是这里的PF??hyperloglog,p是其中的话,f是啥。。带着疑问科学上网,终于找到了答案,这是为了纪念这个算法的提出者:http://algo.inria.fr/flajolet/这是他的主页Philippe Flajolet学习里的彩蛋吧,理工人的浪漫...

2020-07-20 13:59:40 476

原创 几个人排队,找出这个位置的人前面最近的身高高于他的人的身高

为啥都说是dp问题。。维护一个栈才是正解吧

2020-07-13 09:52:51 371

原创 154. 寻找旋转排序数组中的最小值 II-------------为啥用右边界而不用左边界

我花了挺长时间用左边界来做,最后发现总是有几个测试用例过不了,刚好评论里也有关于这个点困惑,我就从理论上思考了这个问题。当然,这里可以引申成寻找最大值,那么思考一下分别用左右边界做判断的写法。这里用左边界更好,但是右边界也可以做。右边界的话可以考虑依然使用原来的方法,只需要最后返回nums[(left-1+nums.length)%nums.length] ,因为有可能最小值是第一个。-----其实提一下,这个用到了求出来的最小值的特性,该最小值是最左边的最小值,所以最小值的左边或者数组最后..

2020-07-06 13:47:30 168

原创 合并区间

3板斧先排序:根据左边界排序,相等的话再排右边界。前后两个区间,一共3种情况:

2020-07-04 22:12:00 147

原创 java.lang.IllegalArgumentException: Comparison method violates its general contract!

比较方法需要有返回值为0:比如(left,right)->left<right?-1:1;改成 (left,right)->left-right.

2020-07-04 19:00:21 226

原创 泛型的几个问题

虽然parent和son是继承关系,但是,方法中传参数是不能用List<son>来作为形参是List<parent>的。

2020-06-29 16:41:02 112

原创 关于接口和抽象类

关于选择接口还是抽象类的选择:https://www.ibm.com/developerworks/cn/java/l-javainterface-abstract/接口和抽象类的区别:1. 继承上:一个类可继承多个接口,一个类2. 成员变量:接口的成员变量默认是public final static的,而抽象类则和普通类没有区别3. 成员方法上:属性上,接口的方法都是public abstract的,而抽象类则和普通类没有区别。4. 接口能继承接口,但不能继承类,抽象类可以实现接口.

2020-06-29 11:50:51 109

原创 java深浅拷贝

//序列化方法实现深拷贝 ByteArrayOutputStream bos=new ByteArrayOutputStream(); ObjectOutputStream oos=new ObjectOutputStream(bos); oos.writeObject(stu1); oos.flush(); ...

2020-06-29 11:05:42 105

原创 leetcode115 不同的子序列:谈dp问题的初始化

动态规划题目,初始化呢是个技巧活,把问题稍微转化,可以使得代码变得简洁。这里的dp方程即:如果i,j从0开始免不了要多加几个判断。这里试想,如果我们在s,t这两个字符串最前面加上一个相同的字符,而且该字符不与任何一个在t中存在的字符相同。那么最后的答案相同吗,答案是相同的。(这里虽然一笔带过但却是最值得细细思考的)又盗图了。。当然我觉得把首个字符替换成$符号理解起来更好。把第一个字符$当作一个有效字符来看这个问题,一切都顺理成章了。...

2020-06-26 13:36:13 128

原创 Arrays.asList()方法的坑

在全排列中,可以使用一个数组重复使用,这样不用一个list反复增减最后一个节点。但是答案是需要转成list的,于是就出错了List<List<Integer>>res;int[]path;res.add(Arrays.asList(path)) //注意Arrays.asList返回的是tm的Arrays里的内部类,不是我们常用的那个。。。但是两个实现了同样的抽象类。这里是用错了,Arrays.asList(1,2,3)返回的值是可以被res.add()的。而

2020-06-24 15:31:30 208

原创 leetcode 4数之和

关键词:去重,双指针。这题的题解在leetcode很多,这里并不赘述,只是证明下为什么那样可以去重:也就是为什么要很多个类似的这一步;首先,从语义上讨论,我们比较一个数和它之前的数是不是相同,那么就遍历数组而言,第一个数是没有前一个数的for(int i=0;i<nums.length;i++){ if(nums[i]==nums[i-1] //很明显,从语义上就不对,我们第一个元素是没有上一个元素的。 System.out.println(i);.

2020-06-23 12:25:13 123

原创 java string缓存池

都说string name="zlz"是创建了两个对象,一个是缓存池里的,一个是堆里的,怎么看出来啊?直接用反射就得了呗。 public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { String name ="zlz"; String name2 = new String("zlz"); Field field = S

2020-06-22 20:24:02 217

原创 python反编译

背景:因为项目需要,使用了pyInstaller将项目打包成exe。由于系统重装时误操作导致格式化,不过之前给乙方发过一份exe文件用于测试。所以还有补救的空间。工具:exe反编译工具:pyinstxtractor.py:点击此处去下载hex16进制文件编辑工具:winhex在反编译之前一定要做好环境的配置,尤其是python的版本。这里有个技巧。就是看与exe文件同目录下的python**.dll这个动态链接库,我这里就是3.7.5版本的,还有很多地方有蛛丝马迹显示。python的版本

2020-05-18 21:09:05 1776 1

原创 idea,maven下载失败 could not transfer artifact org.apache.maven.plugins:maven-javadoc-plugin:pom

使用idea的童鞋可以在 idea安装目录下的bin目录下的idea.exe.vmoptions文件的最后增加一行,修改一次就行。这里的问题是https的问题-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true...

2020-05-14 19:43:50 1993

原创 牛客网--字符串的排列

回溯法import java.util.*;public class Solution { public ArrayList<String> Permutation(String str) { ArrayList<String>res = new ArrayList<>(); char[]chars ...

2020-03-18 14:24:22 148

原创 剑指offer---二叉树中和为某一值的路径集合

import java.util.ArrayList;import java.util.Collections;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { thi...

2020-03-18 00:35:10 87

原创 mysql知识点

1. 在使用join时,on和where条件的区别如下:1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。...

2020-03-16 10:20:19 84

原创 mysql(8.0.18版本)的各种变量

1. select的选项必须都是被group by或者having后面的聚合函数所涉及的字段,而不可包含其他字段,这里涉及了sql_mode = only_full_group_by模式;可以通过命令行查看或更改该属性:查看sql_model参数命令: SELECT @@GLOBAL.sql_mode;SELECT @@SESSION.sql_mode; set sql_mod...

2020-03-16 10:14:46 521

原创 java---PriorityQueue

大家不要大顶堆小顶堆傻傻分不清,这里介绍一种非常好用的办法:(left,right)->left<right?-1:1;首先你以后写比较的时候固定顺序left,right(方向是不是从左到右)-1,1(在一维的坐标里也是从左到右的)(-1<1)然后如果是left<right,表示从左到右,和-1<1方向一致,方向一致就是小顶堆------递减排序...

2020-03-10 13:47:47 80

原创 关于透明图像的滤色处理要注意的几个点

首先,cv2.imread(img_path,cv2.IMREAD_UNCHANGED)返回的是RGBA,在滤色处理(C=1-(1-A)*(1-B))后一定要设置被处理部分的透明度,否则会出现意想不到的情况。左边是我想要的效果,而作宾是滤色处理后透明度没有改变的结果总结:对原理不熟悉会造成很多困难,所以基本功要扎实,知道自己操纵的是什么数据,知道操纵的原理,方可一往无前。...

2020-03-08 02:47:15 317

原创 位运算的技巧

1. 找到一个整数最后一位1的位置:int split = Xor&(Xor-1)^Xor; int split = Xor&~(Xor-1);

2020-03-04 14:44:38 227

原创 pycharm使用中的快乐与懵逼

1. 懵逼指数3颗星:cv2.imread()对于imread按住ctrl时无法识别,但是代码能跑。我切换了另一个环境的python解释器,发现可以识别了,再换回来,发现可以了。。。。...

2020-02-27 21:24:32 95

原创 ArrayList,LinkedList

ArrayList用一个数字初始化后,size仍然为0,因为size表示里面实际存储的元素个数。

2020-02-25 12:40:19 73

原创 office2016找不到 Internet 服务器或代理服务器 的问题

找到Internet选项然后:连接-局域网设置 里面,如果自动配置是 “使用自动配置脚本”,把它取消掉改成自动检测设置就行了。

2020-02-21 22:48:41 5608 1

原创 mysql8.0以上版本的修改root密码,navicate链接出现错误2059

首先会给你一个临时密码://如果打开了mysql服务要先关闭 :net stop mysqlmysqld --initialize --user=mysql --console然后打开mysql服务并用刚刚得到的临时密码登陆(这个密码仅可登陆一次):net start mysqlmysql -u root -pmysql>输入临时密码然后就到了关键的地方了:(n...

2019-12-25 21:55:25 149

原创 程序编写中易错的case

1. A严格依赖于B,但是B之后又改变了,这时候再用A,就会出现一些意想不到的错误。。。比如数组越界等,所以一点要确保中间B没有任何变化。#找 万 所在的位置index_of_wan = money.find('万')#将money截取money = money[money.find('亿'):]#注意这个时候money已经改变了导致index_of_wan已经失效money[...

2019-12-20 13:46:32 118

原创 java中hashset真的不排序吗?

测试代码如下。。Set<Integer> hashSet=new HashSet<>();int []array = {1,10,11,34,5,7,2,9,4,6,6,3,6,3,34,54,23,53};for(int i=0;i<array.length;i++){ hashSet.add(array[i]); System.out....

2019-12-17 20:52:05 956

原创 java函数中引用的理解

栈存放基本类型的变量、引用;堆存放对象。1. 首先我们要分清楚对象和引用的概念,这很重要;class Person{ String name; Person(){ } Person(String name){ this.name = name; } public static void changeName(Person person,String new...

2019-12-16 17:19:31 187

转载 java中函数值还是传引用?

java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一...

2019-12-16 15:30:11 95

原创 LRU用HashMap,双向链表的实现

leetcode的题解已经很完美了,这里记录下关于底下几个comments的问题:来源:力扣(LeetCode)这段代码很好。。import java.util.Hashtable;public class LRUCache { class DLinkedNode { int key; int value; DLinkedNode prev; ...

2019-12-10 19:41:57 365

原创 LinkedHashMap,accessOrder属性,removeEldestEntry方法

1. 对于accessOrder = false,表示根据插入的顺序来排序,就是先进先出。。对于accessOrder = true,其实不能光说是根据访问顺序来排序,而是:首先根据访问顺序排序,在访问次数相同情况下,根据插入顺序排序。//accessOrder(访问顺序): true:访问顺序,false:插入顺序//(默认构造函数中该参数默认为fasle)lhm = ...

2019-12-10 17:22:26 580 1

空空如也

空空如也

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

TA关注的人

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