旋转数组查找指定值

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

2018-09-14 10:58:17

阅读数 396

评论数 0

求字符串的组合

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

2018-09-13 12:11:00

阅读数 118

评论数 0

设计实现一个LRU Cache

什么是LRU Cache 在LeetCode上有一个LRU Cache实现的题目 Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol...

2018-09-10 16:03:56

阅读数 122

评论数 0

CGlib动态代理

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

2018-08-10 16:50:12

阅读数 70

评论数 0

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

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

2018-07-26 16:46:46

阅读数 521

评论数 0

排序算法Java实现

不稳定排序 选择排序: 经过第一轮比较得到的最小的记录,与第一个记录的位置交换, 然后对不包括第一个记录以外的记录进行第二轮比较,得到的最小记录与第二个记录交换 时间复杂度:O(n^2) 空间复杂度:O(1) public static void sel...

2018-07-18 21:55:24

阅读数 90

评论数 0

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

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

2018-07-11 15:55:03

阅读数 66

评论数 0

SSM整合踩坑集合

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

2018-06-04 20:50:16

阅读数 281

评论数 0

MyBatis踩坑持续更新

Invalid bound statement (not found)错误 IDEA开发,其中xml文件放到resources中,接口定义在mapper包下,mybatis配置如下: 我们知道配置映射器用三种方式 <mapper resource=&...

2018-05-31 22:14:57

阅读数 181

评论数 0

设计模式的设计原则

单一职责原则 是什么 单一职责原则的英文名称是Single Responsibility Principle,简称SRP。 “一个类仅有一个职责”或者“引起类变化的只有一个原因”,这就是单一职责原理。 类只因一个原因而变化,这仿佛是一种新的类定义方式。当接触面向对象编程时,试图把一...

2018-05-29 22:03:16

阅读数 91

评论数 0

Socket编程

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

2018-05-28 20:35:59

阅读数 75

评论数 0

Schema与数据类型优化

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

2018-05-23 19:48:04

阅读数 78

评论数 0

关于数据库的优化问题

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

2018-05-22 22:01:06

阅读数 73

评论数 0

数据库的引擎

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

2018-05-21 21:43:36

阅读数 119

评论数 0

JDK1.8 HashMap底层实现原理

底层实现: 数组+链表+红黑树 一些重要的变量: //默认初始容量16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //容量最大值 static fi...

2018-05-16 10:38:40

阅读数 1797

评论数 0

【LeetCode】Two Sum问题

1.Two Sum Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each in...

2018-04-28 20:33:29

阅读数 42

评论数 0

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

112 Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path eq...

2018-04-28 19:27:38

阅读数 144

评论数 0

MyBatis配置踩坑

MyBatis版本3.4.6 mysql-connector版本:6.0.6 报错: Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc...

2018-04-28 10:35:53

阅读数 341

评论数 2

关于动态代理模式

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

2018-04-27 14:30:30

阅读数 85

评论数 0

【LeetCode】SingleNumber[I][II]

题目描述 Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear ...

2018-04-25 17:07:02

阅读数 58

评论数 0

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