自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 问答社区笔记(SpringBoot+MySQL+Redis)

最近开始学习仿网上商城的一些东西,开一个博客,记录这个过程中的一些知识点和疑问,方便之后总结,加油!

2019-04-02 10:21:01 250

原创 《剑指offer》目录(Java篇)(持续更新中……)

说明:随着写的题目多了,整个博客显得有些杂乱无章,学着其他博主,建立一个目录,方便自己快速能找到相应的题目。再者,可以从这次整理中,将以前的只用C++代码写过的题目增添Java版,也是相当于再梳理一次全书。工程量还是挺大的,继续前行,哈哈。参考ryderchan的博客,将所有题目分别按照类别和《剑指offer》(第二版)题目对应的页码进行整理。按照类别顺序分析字符串类页号题目...

2019-02-18 11:00:00 536

原创 matlab的探索之路

最近在用matlab做一些分析,感觉好多很简单的东西都不熟,而且前一天刚查询的今天又忘了,于是在这里记录一下。第一坑.导入TXT文件1.可以直接找到文件,然后鼠标右键进行导入。2.调用load函数,例如:X = load(‘filename.txt’)。...

2019-12-27 09:45:14 351

原创 Springboot项目踩的那些坑

在Springboot中,打开是发现8080被占用,一看是画图软件NI,而且一直还结束不了进程。解决办法:1.查看windows所有端口进程:【netstat -ano】。2.继续输入【netstat -aon|findstr “端口”】,这里的提示的端口为8080,那么就输入命令为【netstat -aon|findstr “8080”】,回车之后就可以看见列表中的PID。3.继续输...

2019-12-24 20:57:29 408 1

原创 《疯狂java》NIO

1.Buffer相关一般使用CharBuffer和ByteBuffer,三个重要的概念:容量(capacity)、界线(limit)和位置(position);两个重要方法:flip()为读数据做好准备、clear()为再次装入数据做准备。/** BufferTest.java* Version 1.0.0* Created on 2019年12月6日* Copyright wkay...

2019-12-06 10:10:07 199

原创 eclipse使用小技巧总结

工欲善其事必先利其器,eclipse的小技巧学习,看起来想入门的。一、解决代码的自动提示问题:1、打开 Eclipse -> Window -> Perferences2、找到Java 下的 Editor 下的 Content Assist , 右边出现的选项中,有一个Auto activation triggers for Java:会看到只有一个”.”存在。表示:只有输入”...

2019-12-04 10:05:56 116

原创 超级基础的编程题50道

题目1:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…java代码如下:package jichu50;import java.util.Scanner;public class number1 { public st...

2019-08-21 15:14:22 423

原创 两个单链表生成相加链表

原始题目:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and re...

2019-05-27 21:16:02 457

原创 删除无序单链表中值重复出现的节点

题目:给定一个无序单链表的头结点head,删除其中值重复出现的节点。例如:1->2->3->3->4->4->2->1->1->null,删除重复的节点之后为1->2->3->4->null。思路:利用哈希表。时间复杂度为O(n),额外空间复杂度为O(n)。头节点是直接放入HashSet中的,因为肯定不重复。当...

2019-05-26 20:33:39 616 1

原创 《Coding Interview Guide》P339:一致性哈希算法的基本原理

题目:工程师常用服务器集群来设计和实现数据缓存,以下是常见的策略。1.无论是添加、查询还是删除数据,都先将数据的 id 通过哈希函数转换成一个哈希值,记为 key。2. 如果目前机器有 N 台,则计算 key%N 的值,这个值就是该数据所属的机器编号,无论是添加、删除还是查询操作,都只在这台机器上进行。请分析这种缓存策略可能带来的问题,并提出改进的方案。...

2019-05-26 10:51:29 118

原创 《Coding Interview Guide》P338:40亿个非负整数中找到出现两次的数和所有数的中位数

题目:32位无符号整数的范围是0~4 294 967 295,现在有40亿个无符号整数,可以使用最多1GB的内存,找出所有出现了两次的数。补充问题:可以使用最多10MB 的内存,怎么找到这40亿个整数的中位数?...

2019-05-26 10:42:49 185

原创 《Coding Interview Guide》P337:找到100亿个URL中重复的URL及搜索词汇的Top K问题

题目:有一个包含100亿个URL的文件,假设每个URL占用64B,请找出其中所有重复的URL。补充问题:某搜索公司一天的用户搜索词汇是海量的(百亿数据量),请设计一种求出每天热门 Top100 词汇的可行办法。...

2019-05-26 10:35:59 460

原创 《Coding Interview Guide》P336:40亿个非负整数中找到未出现的数

题目:32位无符号整数的范围是0 - 4294967295,现在有一个正好包含40亿个无符号整数的文件,所以在整个范围中必然有没出现过的数。可以使用最多1GB的内存,怎么找到所有没出现过的数?进阶:如果将上题的内存空间限制改为10MB,但是只用找到一个没出现过的数即可。...

2019-05-26 10:28:04 134

原创 《Coding Interview Guide》P335:只用2GB内存在20亿个整数中找到出现次数最多的数

题目:有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数。要求:1.内存限制为2GB。

2019-05-25 21:26:16 167

原创 《Coding Interview Guide》P330:认识布隆过滤器

题目:不安全网页的黑名单包含100亿个黑名单网页,每个网页的URL最多占用64B。现在想要实现一个网页过滤系统,利用该系统可以根据网页是否在黑名单上,请设计该系统。要求:1.该系统允许有万分之一以下的判断失误率。2.使用的额外空间不要超过30GB。...

2019-05-25 21:20:53 138

原创 《剑指offer》面试题66:构建乘积数组

题目:给定数组A[0,1…n-1],求B[0,1…n-1],要求B[i] = A[0]*A[1]…A[i-1]*A[i+1]…A[n-1],不能使用除法。思路:使用纯乘法,还有更高效的思路。定义C[i]=A[0]*A[1]…A[i-1],那么C[i]=C[i-1]A[n-1];定义D[i]=A[i+1]…A[n-2]*A[n-1],那么D[i] =D[i+1]*A[i+1];因此C[i],D[...

2019-05-23 20:44:03 125

转载 《剑指offer》面试题62:圆圈中最后剩下的数字

题目:0,1,2…n-1这n个数字拍成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字,求剩下的最后一个数字。例如0,1,2,3,4这5个数字组成的圈,每次删除第3个数字,一次删除2,0,4,1,因此最后剩下的是3。思路:最直接的思路是用环形链表模拟圆圈,通过模拟删除过程,可以得到最后剩下的数字,那么这道题目就变成了删除链表中某一个节点。假设总节点数为n,删除一个节点需要走m步,那么这种...

2019-05-23 20:17:02 196

原创 总结:字符串经典算法

字符串的经典算法。

2019-05-22 17:06:35 1857

原创 《剑指offer》面试题61:扑克牌中的顺子

从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。其中A为1,J为11,Q为12,K为13,而大小王为0,且大小王能够当做任意一张牌。思路:1.首先应该对数组进行排序。2.统计数组中大小王(0)出现的个数。3.统计数组中所有相邻数之间的间隔。4.同时还需要排除对子的情况,如果出现了对子,那么肯定不可能是顺子(0除外)。5.最后比较0的个数和间隔大小,如果0的个数大于等...

2019-05-21 21:26:20 451

原创 总结:位运算

位运算也是一个不容忽视的部分。在《剑指offer》99页,提到进制,而且有一个例子:在微软产品Excel中,用A表示第1列,B表示第2列,……,Z表示26列,AA表示27列,AB表示28列……依次类推。请写出一个函数,输入用字母表示的列号编码,输出它是第几列。自己想了一下,java实现代码如下:package chapter2;public class P99_ExcelNumber ...

2019-05-20 21:17:03 128

原创 总结:堆结构

堆结构非常重要。因此特别记录一下有关堆结构的知识点。

2019-05-19 15:43:01 669

原创 总结:栈和队列相关

栈和队列相关总结。

2019-05-16 19:28:41 118

原创 总结:链表相关算法

《剑指offer》56页说道,链表应该是面试时被提及最频繁的数据结构,由此可见其重要性。本文将结合书中的题目,以及LeetCode中相关的题目,总结链表。...

2019-05-12 20:02:54 155

转载 《剑指offer》面试题64:求1+2+……+n

题目要求:求1+2+…+n,要求不能使用乘除法,for,while,if,else,switch,case等关键词及条件判断语句?:。解题思路:不能用循环,那么可以使用递归调用求和。但又不能使用if,结束条件如何生效?可以使用如下形式替代if语句替代if的一种方式:boolean b=判断条件&&(t=递归执行语句)>0基于以上分析,java参考代码如下:pac...

2019-05-10 21:25:43 114

原创 求职相关注意事项

昨天听的一场求职讲座,以下是相关要点,之后再综合其他资料进行修改,更新。关于简历:1.简历文件命名:求职岗位_学校_姓名。2.个人信息:手机号,邮箱,求职意向(意向城市),党员要写(团员不用,大家都具有的共性就不用写,~)。3.相关经历:根据岗位填写自身相关的。采用STAR法则(情境(situation)、任务(task)、行动(action)、结果(result))。例子:2012....

2019-05-10 09:15:48 321

原创 总结:动态规划部分

动态规划是面试中的热门话题,值得总结。

2019-05-05 21:13:17 184

原创 手写代码遇到的一些问题

1.简单的从键盘读数,即Scanner的使用不熟悉:package Testpackage;import java.util.Scanner;public class test0505 { public static String func(String a,String b,String ch){ if(ch.trim().equals("+")){ ...

2019-05-05 17:08:01 252

原创 总结:各种排序算法

快速排序:package chapter2;public class P79_quickSort { public static void quicksort(int[] data){ sort(data,0,data.length-1); } public static void sort(int[] data,int left,int right)...

2019-04-29 20:09:25 126

原创 总结:各种查找方法

查找包括顺序查找、二分查找、哈希表查找和二叉排序树查找。这里将全部用java代码实现。在这里插入代码片

2019-04-24 19:35:03 521

转载 [LeetCode] 2.Add Two Numbers 两个数字相加

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i...

2019-04-15 19:45:50 175

转载 《剑指offer》面试题65:不用加减乘除做加法

题目:不用加减乘除做加法写一个函数,求两个正数之和,要求在函数体内不能使用四则运算符号。思路:不能用四则运算,那只能通过位运算了。其实四则运算是针对十进制,位运算是针对二进制,都能用于运算。下面以0011(即3)与0101(即5)相加为例说明1.两数进行异或: 0011^0101=0110 这个数字其实是把原数中不需进位的二进制位进行了组合2.两数进行与: 0011&01...

2019-04-15 18:46:51 195

原创 Dijkstra最短路径实现(java)

1.算法解决的问题:从某个源点到其余各顶点的最短路径问题。该算法并不是一下子就求出了源点到终点的最短路径,而是一步步求出它们之间顶点的最短路径,过程中都是基于已经求出的最短路径的基础上,求得更远顶点的最短路径,最终得到你要的结果。/Dijkstra算法,求有向网G的v0顶点到其余顶点v最短路径P[v]及带权长度D[v]。 P[v]的值为前驱顶点下标,D[v]表示v0到v的最短路径长度和。/V...

2019-04-13 16:16:55 388

原创 《剑指offer》面试题2:实现Singleton单例模式

题目:设计一个类,我们只能生成该类的一个实例。思路:1.饿汉式:单例实例在类装载时就构建,急切初始化。(预先加载法)优点1.线程安全 。2.在类加载的同时已经创建好一个静态对象,调用时反应速度快。缺点资源效率不高,可能getInstance()永远不会执行到,但执行该类的其他静态方法或者加载了该类(class.forName),那么这个实例仍然初始化2....

2019-04-01 10:14:51 166

转载 Java几个关键字原理与用法

Java中的transient、instanceof、volatile、synchronized、final、static、const 原理及用法。1.transientjava 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。Java trans...

2019-03-26 11:18:47 289

转载 Java 中的句柄、引用、指针与对象

首先要分清是在什么地方讨论,在以前学C时,是这么区分:(1)指针是对象在内存中的地址;(2)引用是对象的别名,其实质就是功能受限但是安全性更高的指针;(3)句柄是指针的指针,句柄实际上是一个数据,是一个Long (整长型)的数据。句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样。Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在...

2019-03-18 09:50:50 921

转载 《剑指offer》面试题:二叉树的遍历总结

二叉树的遍历总结

2019-03-07 20:25:32 445

转载 《剑指offer》面试题18(2)

题目:删除链表中重复的节点。在一个排序的链表中,如何删除重复的节点?比如[1,2,2,3,3,3],删除之后为[1];思路:由于是已经排序好的链表,需要确定重复区域的长度,删除后还需要将被删去的前与后连接,所以需要三个节点pre,cur,post,cur-post为重复区域,删除后将pre与post.next连接即可。此外,要注意被删结点区域处在链表头部的情况,因为需要修改head。基...

2019-03-04 20:32:41 159

转载 《剑指offer》面试题68:树中两个节点的最低公共祖先

题目:树中两个节点的最低公共祖先输入一棵树的根节点,输入两个被观察节点,求这两个节点的最低(最近)公共祖先。思路:此题比较开放,主要是对于“树”没有做明确说明,所以原书中就对树的可能情况做了假设,然后就衍生出多种思路。1.如果是二叉搜索树:遍历找到比第一个节点大,比第二个节点小的节点即可2.如果是父子间有双向指针的树:由下往上看,转化为找两个链表的第一个公共节点问题3.如果只是一...

2019-03-01 16:32:43 292

转载 《剑指offer》面试题67:把字符串转换成整数

题目:把字符串转换成整数思路:此题比较麻烦的点是特殊情况较多,需要考虑完全。1.如果字符串前后有空格,要去除;2.如果是空串或null,要特殊处理;3.如果头部有多个正负号,要特殊处理;4.如果数值超出int的范围,要特殊处理;比int的最大值还要大,已经上溢,这肯定不能通过数字的大小比较,所以需要在字符串的状态下判断是否上溢或下溢。5.遇到非数字的字符,则转换停止;刚刚发现一个...

2019-02-28 17:07:33 269

转载 《剑指offer》面试题66:构建乘积数组

题目:构建乘积数组给定数组A[0,1…n-1],求B[0,1…n-1],要求B[i] = A[0]*A[1]…A[i-1]*A[i+1]…A[n-1],不能使用除法。思路:这道题给定我们一个数组,让我们返回一个新数组,对于每一个位置上的数是其他位置上数的乘积,并且限定了时间复杂度O(n),并且不让我们用除法。如果让用除法的话,那这道题就应该属于Easy,因为可以先遍历一遍数组求出所有数字之...

2019-02-27 19:35:08 167

空空如也

空空如也

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

TA关注的人

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