- 博客(11)
- 收藏
- 关注
翻译 从上往下打印出二叉树的每个节点,同层节点从左至右打印
题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印 思路:创建两个ArrayList,一个用来存储节点用于遍历二叉树,一个用于存储节点的值作为返回值。 public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList...
2018-09-04 20:01:04
1287
原创 题目:在一个字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1
题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 解题思想:用HashMap存储字符串中的字符和字符在字符串中的位置,如果字符出现次数>=2,将该字符的位置设置为-1.最后找出字符位置>=0条件下的最小值,上代码: public class Solution {...
2018-08-23 16:09:12
2847
原创 Redis之一些数据库和缓存服务器特性与功能
关系型数据库和非关系型数据库对比 名称 类型 数据存储选项 查询类型 附加功能 Redis 使用内存存储(in-memory)的非关系数据库 字符串、列表、集合、散列表、有序集和 每种数据类型都有自己的专属命令,另外还有批量操作(bulk operation)和不完全(partial)的事务支持 发布与订阅,主从复制(master/slave ...
2018-07-30 10:39:54
554
原创 Spring-boot 之Controller
注解@Controller:处理Http请求@RestController :Spring4之后新加的注解,原来返回json需要@responseBody配合@Controller@RequestMapping:配置url映射
2018-06-21 11:40:57
119
原创 Spring中的Bean配置
IOC(Inversion Control):其思想是反转资源获取的方向。传统的资源查找方式要求组件向容器发起者查找资源,作为回应,容器适时返回资源。而应用了IOC以后,则是容器主动将资源推送给它所管理的组件,组件所需要做的仅是选择一种合适的方式来接受资源。这种行为也被称为查找的被动形式。DI(Dependency Injection)-IOC的另一种表述方法:即组件以一些预先定义好的方式(例如:...
2018-05-02 15:45:05
131
原创 避免死锁的常用方法
1.避免一个线程同时获取多个锁;2.避免一个线程在锁内同时占有多个资源,尽量保证每个锁只占用一个资源;3.尝试定时锁,使用lock.tryLock来替代使用内部锁机制;4.对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的状况;...
2018-04-04 20:35:26
985
原创 JVM垃圾回收算法
1.标记-清除算法该算法分为两个阶段即标记阶段和清除阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。该算法的不足之处:①效率问题,标记和清除两个过程的的算法效率都不高。②空间问题,标记和清除之后会产生大量不连续的的内存碎片,空间内存碎片太多可能会导致以后程序在运行时需要分配较大的对象时,无法找到足够连续的内存空间而提前触发另一次垃圾回收操作。2.复制算法复制算法的出现是为...
2018-03-19 16:18:57
109
翻译 Java中判断对象是否存活算法之可达性分析算法
可达性分析算法:通过一系列被称为“GC Roots”的对象作为起始点,从这些节点向下搜索,搜索走过的路径被称为引用链,当一个对象到GC Roots没有引用链存在时,就可以判定该对象不可用。可以作为GC Roots的对象可以分为如下几种:①虚拟机栈中的引用对象。②方法区中静态属性的引用的对象。③方法区中常量引用的对象。④本地方法栈中JNI(即Native方法)引用的对象。...
2018-03-17 20:03:01
290
原创 题目:用java实现一个函数,将一个字符串中的空格替换
//用java实现一个函数,将一个字符串中的空格替换"%20" public class Solution { public String replaceSpace(StringBuffer str) { StringBuffer buf=str; String [] s=new String[buf.length()]; StringBuffer buffer=n...
2018-03-16 14:20:15
370
原创 题目:给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。
分析:如果没有进位,那么a|b为正确答案,但是有进位时1|1=0思想:可以先判断两个数相加是否有进位,如果有进位就忽略进位相加,然后再加上进位值即为正确答案①判断进位:a&b!=0②计算进位值:(a&b)<<1④计算忽略进位的值a^b③进位加上非进位的值a|b int aplusb(int a, int b) { // write your code here ...
2018-03-16 12:15:49
3261
原创 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
public class Solution { public boolean Find(int target, int [][] array) { int rowCount = array.length;//获取数据的行数 int colCount = array[0].length; //获取数据的列数 int i,j; i=rowCount-1; ...
2018-03-14 22:42:43
1572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人