- 博客(35)
- 收藏
- 关注
原创 二分查找通关秘籍
一直以来,二分查找法都是所有算法中最让我头疼的一个tag,并因此错过不止一个很好的offer。二分查找法看似简单,实则变种多,边界条件不好把握。经过一段时间的摸索,终于有了一些自己的感悟。如果写的不对,还请评论区的大佬们赐教。言归正传:首先二分查找的先诀条件是有序数组。只有一个数组是有序的时候才可以使用二分查找法,否则不可用。当我们试图使用二分查找法去解题时,也首先要明确数组是否是有序数组或者能否构建有序数组或者是否是有序数组的变种。依据第一条,任何二分查找的题目都是在利用两个规律。即有序数组
2021-09-29 16:54:24
201
原创 go语言的字符串长度
在go语言中,len统计的是字节数。由于go语言使用unicode-8进行编码,故汉字3占三个字节,英文占一个字节所以当你输入如下代码时:package mainimport ( "fmt")func main() { str1:="轻轻的亲亲" str2:="qingqingdeqinqin" fmt.Println("str1的长度是:",len(str1)) fmt.Printf("str2的长度是:%d",len(str2))}输出结果会是:str的长度是:15 str
2021-04-26 16:56:00
2093
原创 go语言[]struct{}{}
一个[]是说定义一个slice,slice里面的元素类型是struct{} 第一个{}当然就是描述这个struct的各个字段。 第二个{}里面放的是这个slice的一系列具体元素。简单讲,就是相当于java中的类数组吧。struct{}是类,[]{}是数组。只能说go语言真的太别扭了。...
2021-04-20 11:19:51
687
原创 mysql导入数据1062_mysql插入数据报错IntegrityError: (1062, “Duplicate entry ‘xx‘ for key ‘xxxxx‘“)
mysql导入数据1062_mysql插入数据报错IntegrityError: (1062, “Duplicate entry ‘xx’ for key ‘xxxxx’”)字面意思:唯一索引列有两个重复的值。tidb下用数据库管理软件直接查询不到,使用sql语句可以查到。解决办法:用sql语句查询该列,然后删掉即可。...
2021-04-13 11:47:51
574
原创 linux下对环境变量的处理
linux下对环境变量的处理查找已存在的环境变量设置环境变量删除环境变量查找已存在的环境变量export设置环境变量export 变量名="xxx"删除环境变量unset 变量名
2021-03-05 14:03:55
142
原创 moka状态码解密
fetch("/personal-center/applications?orgId=xiaomi").then(r=>r.json()).then(j=>{for(let c of j)for(let a of c.apps)console.log(a.orgName,a.jobTitle,a.stageType)})很多公司都在用moka招聘。有时候hr更新状态不及时,可以输入以上代码可以查询自己的状态。操作:按F12进入chrome调试,在console粘贴以上代码以下是根据个人经
2020-12-08 10:07:06
23951
19
原创 python 提取目标的hog特征代码
from skimage import feature, exposurefrom matplotlib import pyplot as pltimport cv2image = cv2.imread('E:\\new\\02591.jpg')image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)fd, hog_image = feature.hog(image, orientations=9, pixels_per_cell=(8, 8),
2020-12-03 14:05:05
742
原创 重写equals时,为什么还要重写hashcode?
重写equals,为什么还要重写hashcode,大部分的复习资料都会这么写:“**如果两个对象相等,则 hashcode 一定也是相同的。两个对象相等,对两个对象分别调用 equals 方法都返回 true。但是,两个对象有相同的 hashcode 值,它们也不一定是相等的 。**因此,equals 方法被覆盖过,则 hashCode 方法也必须被覆盖。”加粗部分当然是对的,但是和本问题毫无关系。加粗部分把hashmap中哈希冲突的理论讲了一下,就想当然的认为据此理论就可以得出,重写equals就必须
2020-07-29 07:52:41
2226
4
原创 解决IDEA依赖爆红 dependcy not found
尚不清楚是不是因为版本的原因。我的版本是2017.4。最近引入依赖几乎是次次爆红,每次浪费大量时间。也算是总结出了一些经验。大致可以分为4部。1.清除缓存然后重启IDEA。file-》invalidate caches/restart2.屏幕右侧找到maven projects,然后在lifecyle选择clean,然后install3.如果install成功的下载了需要的包,那就基本ok了。点击maven projects导航栏的旋转图标,reimport一下,或者也可以右键项目选择maven -》
2020-05-14 18:08:27
2312
原创 前端显示时间和数据库时间相差8小时
秒杀系统填坑。在数据库中设置了秒杀开始时间。满心的欢喜打开页面一看,居然在明天才能开始。立即想到这个时间可能是美国人的时间。然而百度一下,美国时间和我们相差的是12小时,而我这里是相差了8小时。原来是美国有多个时间。百度了一下前端显示时间和数据库相差8小时的做法,皆不能用。正确的方法是修改配置时间的serverTimezone=Asia/Shanghai。因为这个东西不配不行,以前偷懒直接...
2020-05-03 17:22:17
2583
4
原创 Exception processing template "goods_list": An error happened during template parsing
继续秒杀系统填坑。新建一个GoodsVo 继承Goods,然后引入miaoshaGoods里的变量。登录的时候,报这个错误。后来发现是没有生成MiaoShaGoods里变量的get和set方法,导致thymeleaf里的属性找不到后台对应的变量。因为GOODSVO 是继承GOODS的,所以GOODS里的变量连get方法也省了。但是miaoshagood里的不行。如果不写get方法,前后台就...
2020-05-02 22:07:17
3304
原创 LeetCode搜索旋转数组与if else if的先后执行顺序
LeetCode 33搜索旋转数组是二分查找法的一道进阶题目。要求在旋转数组中查找数组索引并把时间复杂度是O(logN)级别。首先回顾一下二分查找法。二分查找法思路的核心是针对已排序数组,每次找数组中心位置的数,如果比 target 大,就把右指针置到中心位置左边;如果比 target小,就把左指针置到中心位置右边。循环查找直到找到。二分查找法对应的是leetcode 704题。非常基础。搜索...
2020-04-27 10:21:13
226
原创 如何分析一个算法的时间复杂度
一直以来,分析一个算法的时间复杂度对我而言都是很头疼的。直到今天又拿起数据结构…算法的时间复杂度就是一个算法执行次数的量级,而量级就是多项式的最高次幂。假如代码的执行次数是n(n+1)/2,那最高次幂是n^2,那么多项式的量级就是n方,代码的时间复杂度就是O(n ^2)那么如果看算法的执行次数呢?几个题就说明白了。代码块1:for(int i=0;i<10;i++) i++;上...
2020-04-21 11:07:35
9374
原创 leetcode207.课程表与拓扑排序
一、拓扑排序百度百科:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个...
2020-04-19 18:24:37
265
原创 秒杀系统填坑记录
跟着慕课网做一个秒杀系统。在这里把所有遇到的坑以及解决办法记录一下。使用Idea。坑1:"Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled."Description:Failed to configure a Da...
2020-04-14 11:00:33
218
1
转载 sql语句执行顺序
转载自https://blog.csdn.net/u013887008/article/details/93377939sql语句定义的顺序(1) SELECT (2)DISTINCT<select_list>(3) FROM <left_table>(4) <join_type> JOIN <right_table>(5) ...
2020-04-10 07:52:38
224
原创 IDEA使用LeetCode插件并调试本地样例
今天用网页版LeetCode做题时,有道题死活理解不了。遂萌生了用本地编译器调试的想法。于是在Idea中搞了个LeetCode插件。在此感谢原作者。现将安装和调试方法记录在此。一、IDEA安装LeetCode插件URL可以选择国服和世界服。LoginName和Password填自己的用户名和密码即可。需要配置的是这两项:CodeFileName:P$!{question.front...
2020-04-09 21:03:57
16198
1
原创 cookie与session的区别
来源于牛客网某大佬的总结。简单易懂1.session用来表示用户会话,session对象在服务端维护,一般tomcat设定session生命周期为30分钟,超时将失效,也可以主动设置无效;2.cookie存放在客户端,可以分为内存cookie和磁盘cookie。内存cookie在浏览器关闭后消失,磁盘cookie超时后消失。当浏览器发送请求时,将自动发送对应cookie信息,前提是请求url满...
2020-04-09 16:06:29
133
原创 Integer类的vlaueOf和parseInt的区别
最近在做题时,发现有的人喜欢用parseInt来获取String类型的数值。而我一般是用valueOf。然而这两种方法并不影响最终的结果。调取源码后发现,valueOf()是这样的: public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(pars...
2020-04-08 21:39:40
173
原创 File was loaded in the wrong encoding: 'UTF-8'+前台弹窗字符乱码
解决办法:把’UTF-8’改成GBK,再次运行,完美解决
2020-04-08 16:27:20
412
原创 验证码图片不显示
做了一个商城程序,用idea运行出来,验证码部分图片直接打x。后来查阅资料,发现要到tomcat下把temp的属性改成所有人完全控制特此记录
2020-04-08 15:43:27
2120
1
原创 java的抽象类与接口的区别
首先抽象类对应的是子类,接口对应的实现。也就是抽象类的子类继承了父类的全部特性,是一个更具体的父类。就像兔子类继承动物类。而接口的实现则是具备有自己的特性,他和接口是两个不同的类,只是它实现了接口中所有的方法。所以在概念上抽象类和接口的作用是完全不同的。所以抽象类与子类的关系是"is-a",而接口与实现的关系是"like a"附:意义使用场景举例is-aA是B...
2020-04-08 15:33:12
197
原创 java的值传递和引用传递
对于基本数据类型是值传递,对于引用数据类型是引用传递。对于基本数据类型,变量和值都存储在栈中,用一个方法修改变量时,只是修改了变量的副本,而变量本身没有被改变。对于引用数据类型,变量存在栈中,值存在堆中,变量通过指针指向值。用一个方法修改变量时,形参和实参的地址是相同的。所以改变形参的内容,实参也被改变。当然也可以说java就是值传递,只不过对于引用数据类型来说,传递的值是地址值。例题一:...
2020-04-05 09:54:43
155
原创 java实现插入排序
原理:取出当前元素存起来,然后向前遍历,寻找插入位置,把前面大的数字往后挪,直到前面的数都比它小,插入。时间复杂度:最好:正序O(N)最差:O(N^2) 平均:O(N^2)代码:public class InsertSort { public static void main(String[] args){// int[] arr = new int[10];// ...
2020-04-03 19:18:31
155
原创 java实现选择排序
原理:选择排序就是每次从当前元素的后面选择一个最小的元素和当前元素进行交换。然后时间复杂度:O(n^2)代码:public class SelectSort { public static void main(String[] args){ int[] arr = new int[30]; for(int i=0;i<arr.length;i++...
2020-04-03 18:36:21
140
原创 java中的类型转换
1.自动类型转换容量小的数据类型自动转换成容量大的数据类型。数据类型按从小到大排序为:byte->short/char->int->long->float->double其中,byte占1个字节,8位;char和short占两个字节,16位;int占4个字节,32位;long和float占8个字节,64位;double占16字节,128位。由于计算机存储的是...
2020-04-03 09:14:11
182
原创 java实现冒泡排序
基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止(大话数据结构)白话翻译:从位置0开始,比较前i个数中,相邻两个数的大小。大的换到后面。小的换到前面。这就像轻的水泡向上冒。所以叫冒泡排序冒泡排序中,一次排序,就会把前***length-i***个数中最大数沉底。比如下图:冒泡排序总是从0开始,到上次排好序的位置为止。两两交换逆序元素代码:public clas...
2020-04-02 16:57:16
611
原创 哈夫曼树(构建以及计算加权路径长度)
今天做远景的笔试题,遇到了这么一道题,求{11,8,6,5,2}构成的哈夫曼树的加权路径长度。好长时间没看数据结构,居然忘记怎么求了,该死。直接百度原题,好多答案居然都是错的。要不就是光有答案没有过程。在这里把哈夫曼树的构建和加权路径长度写一下。构建过程:1.对数组按从大到小排序。对于上面这个{11,8,6,5,2}数组,排序完就是{2,5,6,8,11}2.将最小的两个数加起来,求得一...
2020-03-22 17:29:44
12155
原创 数学
leetcode 7 整数反转思路分析:记住就好。对10取余,将取余的结果,也就是最低位当成高位,之后对x除以10来减少位数。最简单的数学题。需要注意的是,溢出就返回0,这里定义一个long类型,溢出int型范围的数都返回0,没溢出的强转成int。**(非常实际的做法)**类似的题目还有第9、1281题。class Solution { public int reverse(int x...
2020-03-13 18:45:23
181
原创 字符串
leetcode125 验证回文串学到的知识点:字符串转小写方法 s.tolowerCase(),用一个指针对序列做二分。思路分析:首先只考虑数字和字符,那么就把其他符号去掉。最好的方法就是定义一个新的字符串去保存数字和字符。这里不用去刻意记ASCALL码,因为字符的本质也是个整数。只需要用字符引号把数字和字符引起来即可。之后,用二分法去判断首尾是否相等。用while+双指针的方法最好,思路清...
2020-03-13 09:21:04
207
原创 LeetCode总结
从2019年4月开始刷题,中间停了几个月,断断续续的也刷了有200道题了。但是最近看看各大互联网公司的笔试题,几乎都难以下笔,有种题都白做了的感觉。一来发现,leetcode的题只能是一个模板,而企业的笔试题基本上都融合不同的场景,而且,leetcode的题多而杂,但是感觉企业对数据结构和数学算法更加青睐。总之就是感觉前辈们的经验似乎和自己的实际情况好像相去甚远。二来自己闷着头做了这么多题,总结不...
2020-03-13 08:03:48
177
原创 对java静态方法和静态变量的总结
一、静态变量1.静态变量随着类的加载而加载。加载位置是方法区。2.静态变量早于对象出现,所以一般使用类直接调用。3.静态变量被所有对象共享。4.静态变量只能定义在类内,方法外。二、静态方法1.静态方法随着类的加载而加载。加载位置是方法区。2.静态方法早于对象出现。3.静态方法不可以调用非静态方法。可以理解为这是由于静态方法的加载早于非静态方法。4.静态方法可以被继承,但是不可以被...
2020-03-02 22:49:36
343
原创 linux unbutun下文件解锁+强制删除
#文件解锁chmod a+r filename#强制删除chmod -r 777 filename可以在文件夹下打开终端
2019-10-29 19:54:26
605
原创 目标跟踪评测集VOT-toolkit配置使用方法
@目标TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带...
2019-10-27 16:17:17
3676
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人