4 小萝莉_Lolita

尚未进行身份认证

做自己的superman

等级
博文 165
排名 2w+

旋转数组查找指定值

递增数组[1,2,3,4,5],变化为[5,6,1,2,3,4],给定K,判断是否存在,并返回其索引位置二分查找选择中间位置作为判断的分界点所以二分中,必定有一部分数组是递增有序的,而另一部分则不是,所以当我们取中间点的时候,首先判断中间点是不是所要寻找的值。如果不是,则寻找递增的那一部分数组1.前部分是递增数组,如果指定值在前部分数组中,end=mid-1;否则在后...

2018-09-14 10:58:17

求字符串的组合

输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择...

2018-09-13 12:11:00

设计实现一个LRU Cache

什么是LRUCache在LeetCode上有一个LRUCache实现的题目DesignandimplementadatastructureforLeastRecentlyUsed(LRU)cache.Itshouldsupportthefollowingoperations:getandset.get(key)-Gett...

2018-09-10 16:03:56

CGlib动态代理

JDK动态代理必须提供接口才能使用,在一些不能提供接口的环境中,只能采用第三方技术,比如CGlib动态代理,它的优势在于不需要提供接口,只要一个非抽象类就能实现动态代理CGLib采用了非常底层的字节码技术,其原理是通过目标类的字节码为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。我们先通过一个demo看一下Cglib是如何实现动态代理的。...

2018-08-10 16:50:12

Java实现关于数组的一些骚操作

如何找出数组中唯一的重复元素?问题描述:数组a[N],1-N-1这N-1个数存放在a[N]中,其中某个数字重复1次。写一个函数,找出重复的数字。要求每个数组元素只能访问一次,并且不用辅助空间。分析:由于不能使用辅助物理空间且每个元素只能访问一次,所以可以从原理入手,采用数学求和法。设重复的数字为A,那么数组的和为1-N-1,A的累加,减去1-N-1的累加即可得到重复的数字A...

2018-07-26 16:46:46

排序算法Java实现

不稳定排序选择排序:经过第一轮比较得到的最小的记录,与第一个记录的位置交换,然后对不包括第一个记录以外的记录进行第二轮比较,得到的最小记录与第二个记录交换时间复杂度:O(n^2)空间复杂度:O(1)publicstaticvoidselectSort(int[]arr){if(arr==null||arr....

2018-07-18 21:55:24

剑指Offer面试题32:从1到n整数中1出现的次数

题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11,12,1一共出现了5次思路一:最直白但是时间复杂度高的解法依次累加1到n中每个整数1出现的次数。每次可以通过对10求余数判断整数的个位数是不是1publicintNumberOf1Between1AndN(intn){...

2018-07-11 15:55:03

SSM整合踩坑集合

IDE:IntelliJIDEAmaven项目管理,Spring,SpringMVC,MyBatis整合开发纯xml配置上图是Spring容器和SpringMVC的配置的文件,下图是自定义的Controller然后运行就出现了如下的错误,哭唧唧启动时出现这个页面,后台报错如下:Causedby:java.io.FileNotFoundException:...

2018-06-04 20:50:16

MyBatis踩坑持续更新

Invalidboundstatement(notfound)错误IDEA开发,其中xml文件放到resources中,接口定义在mapper包下,mybatis配置如下:我们知道配置映射器用三种方式<mapperresource="xml所在文件路径"/><mapperpackage="mapper接口所在包名"/><ma...

2018-05-31 22:14:57

设计模式的设计原则

单一职责原则是什么单一职责原则的英文名称是SingleResponsibilityPrinciple,简称SRP。“一个类仅有一个职责”或者“引起类变化的只有一个原因”,这就是单一职责原理。类只因一个原因而变化,这仿佛是一种新的类定义方式。当接触面向对象编程时,试图把一个类对比为一个事物,事物具备的功能都是这个类的操作。比如,一根尺子,既可以用来打学生手板,也可以用来丈...

2018-05-29 22:03:16

Socket编程

什么是Socket?Socket是连接运行在网络上的两个程序间的双向通讯的端点。Socket进行网络通信的过程1.服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户的连接请求。2.客户程序根据服务器程序所在的主机名和端口号发出连接请求。服务器在端口监听到有客户端发来的请求,如果有连接请求,那么接受连接请求并获得一个新的绑定到不同端口地址...

2018-05-28 20:35:59

Schema与数据类型优化

数据库设计时更优的Tips选择优化的数据类型1.更小的通常更好一般情况下,应该尽量使用可以正确存储数据的最小数据类型。因为它们占用更少的磁盘。内存和CPU缓存,并且处理时需要的CPU周期也更少2.简单就好简单数据类型的操作通常需要更少的CPU周期3.尽量避免NULL通常情况下最好指定列为notnull。通常把可为NULL的列改为NOTNULL带来的性能提...

2018-05-23 19:48:04

关于数据库的优化问题

大型网站应用之海量数据和高并发解决方案总结一二数据库分库分表策略的具体实现方案分库分表之后查询和新增数据的时候,需要一个专门做这个事情的中间件(常见的有MyCat和Cobar,还有一些公司自研的数据库中间件产品)用来区分表和库,如果不同的库或者不同的服务器,要进行判断和对接。如果只是单体应用或单一系统,系统的瓶颈是由数据库的IO引起的或者数据库表超过500W一般都会进行分库分表。...

2018-05-22 22:01:06

数据库的引擎

MyISAM引擎特点:1.不支持事务2.只支持表级锁(数据库操作表时需要锁定整张表),锁定成本小,但并发性不高3.读写相互阻塞,但是读读不阻塞4.只会缓存索引,不会缓存数据5.读取速度快(因为功能相对弱小,占用资源少,锁粒度粗)6.不支持外键约束,但支持全文索引7.MyISAM是MySQL5.5.5前缺省的存储引擎适用的生产业务场景1.不需要...

2018-05-21 21:43:36

JDK1.8 HashMap底层实现原理

底层实现:数组+链表+红黑树一些重要的变量://默认初始容量16staticfinalintDEFAULT_INITIAL_CAPACITY=1<<4;//容量最大值staticfinalintMAXIMUM_CAPACITY=1<<30;//默认加载因子0.75staticfinalfloatDEFAULT_L...

2018-05-16 10:38:40

【LeetCode】Two Sum问题

1.TwoSumGivenanarrayofintegers,returnindicesofthetwonumberssuchthattheyadduptoaspecifictarget.Youmayassumethateachinputwouldhaveexactlyonesolution,andyoumayno...

2018-04-28 20:33:29

【leetcode】中关于二叉树的那些题

112PathSumGivenabinarytreeandasum,determineifthetreehasaroot-to-leafpathsuchthataddingupallthevaluesalongthepathequalsthegivensum.Note:Aleafisanodewithno...

2018-04-28 19:27:38

MyBatis配置踩坑

MyBatis版本3.4.6mysql-connector版本:6.0.6报错:Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver'.Thedriverisautomaticallyregisteredvi...

2018-04-28 10:35:53

关于动态代理模式

为什么JDK的动态代理只能实现接口的代理?我们通过JDK动态代理生成的代理对象的类型实际是$Proxy0(这个名字后面的0是编号,有多个代理类会一次递增)类,该类继承了Proxy类,所以只能对接口进行代理。Java的继承机制注定了这些动态代理类们无法实现对类的动态代理。publicfinalclass$Proxy0extendsProxy动态代理底层实现原理...

2018-04-27 14:30:30

【LeetCode】SingleNumber[I][II]

题目描述Givenanarrayofintegers,everyelementappearstwiceexceptforone.Findthatsingleone.Note:Youralgorithmshouldhavealinearruntimecomplexity.Couldyouimplementitwithout...

2018-04-25 17:07:02
奖章
    暂无奖章