自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (1)
  • 收藏
  • 关注

原创 二进制中1的个数

这道题是剑指offer第15道题题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。第一种思路:我们通过对这个数的二进制每一位和1进行“与运算”,如果为1,那么就累加1的个数如对于十进制5:二进制为101,我们通过其每个位与二进制数1,10,100进行与运算,那么也就是对于二进制1,不断地进行左移,就可以出现1,10,100,1000等的数。但是存在一个问题,我们不知...

2020-02-14 15:06:00 272

原创 旋转数组的最小数字

剑指offer第11道题:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。刚开始读题,一遍都没读懂(我是小白,才开始入门),再读一遍,题目的目的不就是求出一个在一...

2020-02-13 14:44:33 222

原创 Git工作流

我们来模拟一下工作中的问题:假如说,产品经理提出一个需求,我们进行开发1、首先,我们通过sourcetree来创建一个demo3的一个仓库,并创建一个gui_demo.txt的一个文件随后便完成添加、提交假如说产品经理突然需求变更所以我们就在工作区,打开资源管理器,找出刚才的gui_demo.txt,添加需求变更我们也发现,当修改后的gui_demo.txt文件...

2020-02-11 19:35:22 246

原创 Git仓库

我们先学习下面的几个命令:初始化版本库:git init添加文件到版本库:gitadd、git commit查看仓库状态:git status我们下面以一个例子来解释:创建一个文件然后提交到本地仓库中第一种方式:图形化界面sourcetree1、打开sourcetree,选择create创建新仓库目标路径选择电脑中的一个空的目录就可以,当你创建好本地仓库后,本地的...

2020-02-10 16:10:28 458

原创 两数之和-Leecode01

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(...

2020-02-04 12:47:08 201

原创 安卓项目结构解析

我们来说一下第一个项目中的结构,小白也是第一次学习,有什么不对的地方还望指出第一个项目创建过程:HelloWorld我们从创建好的目录结构开始,如下图:1、.gradle和idea这两个目录下放置的是Android Studio自动生成的一些文件,我们管理,相信你用gradle管理java项目的时候也会有这些东西吧2、app项目中的代码、资源等内容几乎都是放置在这个目录...

2019-11-04 15:27:30 1067 2

原创 创建第一个android项目

1、创建HelloWorld项目打开电脑上安装的Android,如果是第一次打开,就点击Start a new Android Studio project,如果不是第一次,刚打开的就是你上一次关闭Android Studio时的项目,如下图,点击给你的项目起一个响亮的名字,感觉和用IDEA建立MAVEN项目差不多吧点击next可以对项目的最低兼容版本进行设置,如下图:...

2019-11-04 09:46:33 486

原创 秋招面试

秋招经历(JAVA开发):先说一下本人的属性,或许有同道中人,或许有大佬路过属性值:菜,菜,菜,(菜是原罪) 相对来说懒点,还是考研党比较勤 学知识特别慢,就是普普通通的人 非985,非211,普通一本,通信工程,成绩一般 英语四级未过(最近一次423)我的秋招是从8.31号开始,暑假前自己和好友组团学习JAVA,感觉效率不高,原因应该是自己每日没有固定的计划,加上不会的问题...

2019-11-02 20:59:13 1475 11

原创 有赞一面

2019/10/30 14.00有赞一面昨天上课接到有赞面试官的电话,约到今天面试,已经投了一个多月了,现在应该是补录了吧,听说有赞面试很难,哎,难也要上啊进入正题========================================================================================:简单的自我介绍:2分钟介绍完自己,当然也就是...

2019-10-31 15:07:03 1128

原创 设计模式

设计模式设计模式的简单理解一、设计模式概念概述1、设计模式的诞生2、设计模式的定义以及分类设计模式的定义设计模式的基本要素设计模式的分类3、GoF设计模式简介设计模式的优点二、设计模式面向对定义原则原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特原则三、简单工厂模式简单工厂模式结构与实现简单工厂应用实例关于创建对象与使用对象简单工厂模式优缺点与使用环境简单工厂模式...

2019-10-24 18:40:06 2482 1

原创 Spring初始化容器与创建bean的过程

Spring容器的创建以及级初始化过程通过使用AnnotationConfigApplicationContext这个类来创建一个bean容器,我们从这个类进去看看,Spring怎么给我们来创建对象的Spring容器的refresh()【创建刷新】1、prepareRefresh();刷新前的预处理 1)initPropertySources();初始化一些属性设置,留...

2019-10-09 19:44:20 868

原创 case when用法

一分钟先来看一下表,关表之间的关系不难,再看sql语句举个栗子感觉下:-- 3、查询所有学生的学号、姓名、选课数、总成绩select a.s_id,count(b.c_id),SUM(case when b.s_score is null then 0 else b.s_score end)from student as aleft join score as ...

2019-10-07 17:21:18 1880

原创 synchronizedMap源码分析

我们先简单说下HashMap和HashTable之前学习集合的时候,说到过HashMap是线程不安全的,HashTable是线程安全的,但是HashTable在高并发情况下效率太低,为什么如此的低呢?是因为HashTable为了保证线程安全,给每个方法上都加了synchronized关键字才保证了线程安全今天我们来学习用工具类Collections来创建线程安全的synchroni...

2019-10-05 21:32:00 791

原创 Mindjet mindmanager

破解请看下方评论1991 9/21

2019-10-03 20:54:31 363 2

原创 SpringBoot启动类源码解析

来学习SpringBoot启动器原理,我们先从这两个方面来入手:1、注解:@SpringBootApplication2、run方法:SpringApplication.run()在创建SpringBoot应用时,我们都会写这两个东西,我们来仔细看一下它到底是什么一、注解:@SpringBootApplication我们可以发现,SpringBootApplicatio...

2019-10-02 16:41:37 612

原创 在排序数组中查找数字

剑指offer第53题题目:数字在排序数组中出现的次数统计一个数字在排序数组中出现的次数,例如:输入排序书序{1、2、3、3、3、3、3、4、5}和数字3,由于3在这个数组中出现了4次,因此输出4发现这个题用到了二分查找的思想,因为数组是排序的,所以我们可以查找出第一次和最后一次出现k的位置,然后两个位置差+1就是出现的次数了贴代码:public class Main { ...

2019-10-01 16:12:25 280

原创 从上到下打印二叉树

剑指offer第32题:用队列来实现打印二叉树,从上到下按行来打印贴代码:(有注释)public class Main { /** * 一边打印一边入队 * @param root */ public void PrintTopBottom(Node root){ if(root==null){ ...

2019-09-24 21:25:48 192

原创 树的子结构

剑指offer第26题代码看不懂的话可以看我注释,如果还是没有的话,直接去看剑指offer。贴代码:public class Main { Node root; boolean HashSubtree(Node root1,Node root2){ boolean result=false; /** * 每次都是从...

2019-09-24 19:46:32 174

原创 合并两个排序的链表

剑指offer,我要把所有的链表问题做一遍其实这里合并链表和和并数组差不多吧,我感觉假如说是从小往大排序,那么两个节点谁小,待插入指针就指向哪个节点,这里就是用MergeHead来指的,谁小,谁就作为MergeHead的next。public class Main { Node Merge(Node head1,Node head2){ if(head1=...

2019-09-23 16:32:55 200

原创 删除链表的节点

剑指offer第18题,说要用O(1)的时间复杂度来删除节点,一下子想不来,看了书才笨笨的想到如果要删除一个节点,我们势必要找到它的前一个节点,这样就可以删除了,不过,找到前一个节点后,我们的时间复杂度就是O(n)了,所以可以这样想,我们要删除这个节点,不妨用下一个节点的值把待删的值覆盖掉(意思就是把待删节点下一个节点值赋给待删节点,然后删除掉待删节点),这样待删节点就保存了下一个节点的值,所...

2019-09-23 16:11:49 384

原创 二叉树的下一个节点

抄自剑指offeroffer由于步骤要分很多中情况,我就把照片贴这里(懒)注意(这个二叉树可以找父节点,就是parent节点,和一般二叉树稍微有区别)贴代码:public class Main { Node root; Node GetNext(Node root){ if(root==null){ return n...

2019-09-23 15:32:43 165

原创 ThreadLocal源码学习

CVTE一面有问过这个问题,问我ThreadLocalMap如何保证了线程之间存储元素的隔离性,我还记得我当时很搞笑的说哦synchronized。。。。。(现在感觉基础不扎实),不废话了ThreadLocal:保证每个线程都有自己的一片空间(就是个map),而这些空间之间具有隔离性,其他线程在高并发情况下不能访问(自己的理解)如何保证隔离性呢,我们走近源码看看:(分析的不好还望指出小白的...

2019-09-23 12:06:54 235

原创 数组中重复的数组

剑指offer面试题3类似于hash算法,自己画画就明白了public class Main { public static void getRepeatNumber(int array[]){ if(array.length==0){ return; } for(int i=0;i<ar...

2019-09-22 01:00:31 182

原创 二维数组中查找

这就是剑指offer那道题比如我们查找数字7,步骤如下,我就不打上去了,也好理解着,就是一步步二维的缩小查找的范围贴代码(已测试正确):public class Main { /** * @param array 传入的数组 * @param rows 数组的行 * @param columns 数组的列 * @param ke...

2019-09-21 23:32:31 216

原创 实现Singleton模式

单例模式的两种实现方式1、双端检测通过volatile来保证线程之间变量的可见性 用两个if判断,第一个判断来减少synchronized导致的低效率//双重检查/** * Double-Check双重检查,判断if(singleton==null) * 避免反复进行方法同步 * 线程安全;延迟加载;效率较高 * */public class Singleton05 {...

2019-09-21 22:49:05 197

原创 两个链表的第一个公共节点

就是剑指offer面试题52,两个链表的第一个公共节点所谓公共节点大概就是这样了,因为一个链表只能有一个后继如果两个节点恰好在末尾,如果两个链表的节点在第一个位置,那就是一条链表了对两个链表从头到尾进行遍历都没有相同的位置,那么肯定就没有公共的节点看书上说,也可以用两个辅助栈来实现:把第一个链表放进栈里把第二个链表放进栈里然后再弹出(也就是从两个链表的结尾开始...

2019-09-21 17:44:33 177

原创 美团二面

2019 9.20 10.00——11.00今天如约而至,美团面试官打来了电话,我已经准备好了我的项目,来吧面试官:你是某某某吧,我是今天的面试官,问你几个问题。我:你好(直接就来了)面试官:有一个5升的杯子,和3升的杯子,来接4升的水,说一下你的思路?我:先用5升的杯子和3升的杯子取出2升的水,在用3升的杯子和2升的水,取到2升的水,最后用1升的水和5升的杯子取到4升的水...

2019-09-20 19:39:34 1222

原创 CVTE面试

CVTE一面(2019.9.16.3.00——2019.9.16.3.30)先参加线上笔试,然后通知CVTE面试得收到短信后第二天就去哪个什么酒店里面试了,面试感觉信心满满,到了现场后。。。。,我还以为CVTE今天招聘会呢,人有点多啊,群里都1500+了收到预约排队短信后,就进去了,我还记得我是10桌面试官:介绍一下你自己我:ma,de,我30秒就介绍完我自己了面试官:完了...

2019-09-20 19:04:21 1839

原创 从头到尾打印链表

(递归实现)package pers.chao.niuke.ch1.p1._8从尾到头打印链表;public class Main { Node head; public static void print(Node head){ if(head==null){ return ; }else{ ...

2019-09-18 21:27:49 167

原创 反转链表

又想了遍反转链表,我感觉我写的很详细了,你一定能看懂的,注释在代码中。public class Main { Node getReverseList(Node head){ //如果链表为空或只有一个节点,不需要反转,直接返回就行 if(head==null||head.next==null){ return head; ...

2019-09-18 21:01:49 152

原创 链表中环的口节点

就是剑指offer辣道题没错如果一个链表中包含换环,如何找出环的入口节点?像求链表的倒数第k个节点一样,我们采用两个一前一后的指针来找位置,同样,我们采用两个指针,如果环中有4个节点,那么就让前面的节点先走4步,后走的节点一会儿肯定会和先走的节点相遇,因为是通过一个环,肯定会在入口处(也就是出口处)遇到,但是问题是:我们不知道这个节点的位置,也不知道环中节点的数目,所以我们:1、首先判...

2019-09-16 10:10:30 221

原创 用两个栈实现队列

赶紧来复习一下算法,明天面试手撕算法的话,感觉要凉凉了这就是剑指offer那道题,没错用两个栈实现队列,在这之前你也一定了解过什么是队列吧?我就不再说队列了可以用一个入栈作为入队列栈,用另外一个栈作为出队列栈public class TwoStackGenerateQueue { static Stack<Integer> instack=new Stack&...

2019-09-15 20:08:58 188

原创 连续子数组的最大和

就是剑指offer那道题应该读题了吧,我就不把题目敲上去了,连续子数组最大和,数组元素可正可负平安产险现场笔试的时候就遇到这个题:平安产险笔试+一面使用动态规划来解决:这样想:求连续子数组之和,把这个问题放小,如果只有两个数组呢,是不是看加了第二个数组和没加第二个数组之间,哪个值比较大,如果值增加,那就加,如果值减小就不要加,放大:通过一个函数表示出前一次子数组之和和前一次数组之和...

2019-09-15 10:06:51 168

原创 减绳子

没错就是剑指offer那倒题,尽量让这个数拆成2,3,这种因子乘积最大。余三有两种可能,余1,余2,余1的话不如让它余个4(2*2),这个题就结束了题目:给你一根长度为n的绳子,请把绳子剪成m段,记每段绳子长度为k[0],k[1]...k[m-1],求k[0]k[1]...k[m-1]的最大值。已知绳子长度n为整数,m>1(至少要剪一刀,不能不剪),k[0],k[1]...k[m-1...

2019-09-15 09:28:58 336

原创 链表中倒数第K个节点

定义两个指针,两个指针的间距设置好为K-1后,两个指针同时跑,当后面的指针指到链表尾部的时候,前面的指针就到了倒数第K个节点public class Solution { public Node FindKthToTall(Node head,int k){ Node phead=head;//后面的指针 Node temp=head;...

2019-09-15 08:48:31 183

原创 二叉树的深度

二叉树的深度:肯定有好多深度,然后比较得出最深的那一条,按照递归思想也就是两条深度,左子树和右子树/** * 二叉树的深度 */public class Main { public static int TreeDepth(TreeNode root) { if (root == null) { return 0; } ...

2019-09-15 08:24:03 229

原创 对称的二叉树

一般都会让我们去判断二叉树是否是对称的?看了我的上一篇博客 二叉树的镜像感觉和这篇博客像像的,其实也就是像像的对称二叉树:两边相同等的位置的节点的值一样,说白了就是从主树干折过去完全覆盖代码:public class Main { public boolean isSymmetrical(TreeNode root){ //通过重载,来将树分开,...

2019-09-14 20:44:49 461

原创 二叉树的镜像

二叉树的镜像:所谓镜像就是从树中间劈开后,两半一样,这就是镜像二叉树代码实现的时候:从上面的最大的节点向下开始,先交换root下面的两个大的左右子树,大体位置交换之后,在递归交换每一个小的子树,直到交换叶子节点,就完成了看完后可以感受一下一篇:对称的二叉树代码:在交换两个节点,采用就是交换两个变量的值那样交换,通过中间变量来交换/** * 二叉树的镜像 */public...

2019-09-14 20:01:44 213

原创 贪心算法

可以通过穷举来找代码:public class GreedyAlgorithm { public static void main(String[] args) { //创建广播电台,放入到Map HashMap<String,HashSet<String>> broadcasts = new ...

2019-09-14 10:53:50 179

原创 CAP定理

看SpringCloud的时候说到了CP,今天重要见到了,记下来。CAP定理:又称布鲁尔定理,它指出对于一个分布式计算系统来说,不可能同时满足一下三点:一致性:所有节点在同一时间具有相同的数据 可用性:保证每个请求不管成功或者失败都有响应 分隔容忍:系统中任意信息的丢失或失败不会影响系统的继续运作CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分吴容错性这三个需...

2019-09-14 00:57:02 229

尚硅谷SpringCloud思维导图.mmap

尚硅谷周阳老师2018年SpringCloud的思维导图,其涵盖了面试相关知识,用思维导图相关软件才能打开

2019-08-30

空空如也

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

TA关注的人

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