- 博客(83)
- 资源 (15)
- 收藏
- 关注
原创 适合自己的Git工作流
总结的提交流程---使用merger$ git checkout -b featureB origin/master# (change implementation)$ git commit# (origin/master changed)$ git push myfork featureB# (failed)$ git checkout -b featureBv2 origin/
2016-08-22 19:58:19 371
原创 Java面试题目
1. 构造函数的修饰符2. 接口中可以定义的内容和使用的修饰符3.子类SubClass继承父类SuperClass,如果子类覆盖父类中的方法,那么该方法在子类中的修饰符要>=在父类中的修饰符范围;覆盖时,返回值类型要和父类的返回值相兼容。如果是重载,,返回类型是不重要滴。4.int i = 12;System.out.println(i += i -= i *
2015-10-20 18:45:49 465
原创 Java反射
一、Java反射的基础——Class类Instances of the class Class represent classes and interfaces in a running Java application.Class类的实例表示运行中的Java程序的类和接口。意思是每个载入内存中的类,都有一个对应的Class类,而且该Class类是唯一的。例如,String
2015-10-20 17:22:42 330
原创 大根堆和小根堆
先看一下调整好的小根堆和大根堆下面举一个调整的例子下面是一个实际的问题:数据流中的中位数题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。import java.util.ArrayList;p
2015-09-12 09:48:04 1786
原创 序列化二叉树
请实现两个函数,分别用来序列化和反序列化二叉树分析:使用先序和后序可以反序列化二叉树,但使用了两个序列,另外还需要完全读取两个序列之后才能开始反序列化。如果先序遍历序列化二叉树时,使用#表示Null,可以通过该反序列化还原二叉树,而且可以遍读取遍序列化。这里假设读取整个序列之后再反序列化class TreeNode { int val = 0; TreeNode lef
2015-09-11 20:50:41 366
原创 正则表达式匹配
请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配解法:首先要想到用递归处理,如果不用递归,那就需要自己模拟栈的操作,很是复杂
2015-09-10 21:25:22 388
原创 约瑟夫环
假设下标从0开始,0,1,2 .. n-1共n个人,从1开始报数,报到m则此人从环出退出,问最后剩下的一个人的编号是多少?方法一 模拟依次从一个环形链表中删除第m个数方法二 定义f(n,m)为最后的结果从n个人中删除第一个报到m的数,剩余的数为0,1,2,...,m-2,m,m+1,m+2,...,n-1第二次删除时,序列为m,m+1,...,0,1,2,n-1,定
2015-09-10 16:41:04 329
原创 数组中的逆序对
题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。方法一:对于数组中的每个元素,统计之后它小的元素的个数,时间复杂度为O(n^2)方法二:观察归并排序再合并的过程中{10}和{4}合并变成了{4,10}{4,10}和{3,6}合并变成了{3,4,6,10}在这
2015-09-10 09:37:22 366
原创 整数中1出现的次数
以 21345为例,统计1 ~ 21345中1出现的次数。把21345分成两部分统计:1 ~ 1345 和 1346 ~ 21345这样一来,如果统计出 1346 ~ 21345中1出现的次数。 1 ~ 1345中1出现的次数,可以看做是21345去掉最高位的子问题,因此可以递归处理。下面就统计1346~ 21345中1出现的次数。1. 首先统计最高位出现1的次数:
2015-09-09 16:08:27 339
原创 最小的K个数
题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。方法一 直接排序通过对数组排序,可得到最小的K个数,时间复杂度O(N*lgN)方法二 变异的快排现在一个哨兵,对两次的进行筛选,大于哨兵的值再右侧,小于哨兵的值在左侧。如果哨兵的位置index>K,对于[begin ~ index-1]再次快排。如
2015-09-09 10:21:35 328
原创 字符串的排列
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。算法实现如下import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Has
2015-09-09 08:45:01 347
转载 格雷码的实现
问题:产生n位元的所有格雷码。格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。如果要产生n位元的格雷码,那么格雷码的个数为2^n.假设原始的值从0开始,格雷码产生的规律是:第一步,改变最右边的
2015-09-07 09:19:18 474
转载 Manacher算法--O(n)回文子串算法
http://blog.csdn.net/ggggiqnypgjg/article/details/6645824/寻找最长的回文子串上面的算法是O(n)的时间复杂度和O(n)的空间复杂度,一般的实现是O(n^2)的时间复杂度和O(1)的空间复杂度。另外还有后缀数组可以使用
2015-07-12 07:23:17 407
原创 172_Factorial Trailing Zeroes
题目地址:https://leetcode.com/problems/factorial-trailing-zeroes/public class FactorialTrailingZeroes_172 { /** * 5出现的次数比2多 * * 5 2 -> 10 * 25 4 -> 100 * 125 8 -> 1000 * 625 16 -> 10000
2015-07-04 19:05:59 386
原创 169_Majority Element
题目地址:https://leetcode.com/problems/majority-element/方法一:直接法直接统计每个数的个数,Java实现如下public class Solution { public int majorityElement(int[] nums) { Integer value; HashMap count = ne
2015-07-04 19:02:49 385
原创 228_Summary Ranges
注意题目的边界:1.输入为[]时2.输入为[1]时3.输入为[1,2,3]时import java.util.ArrayList;import java.util.List;public class Solution { public List summaryRanges(int[] nums) { List result = new ArrayList<>
2015-07-02 16:46:51 383
转载 选择技术学习目标的困惑与困境
原文 http://www.nowamagic.net/librarys/eight/posts/2738大部分在国内教育体系下成长起来,尤其是仍然在做技术背景工作的工程师,在家庭、学校以及五千年儒家文化的影响下,有一个根深蒂固的思维习惯,如果某段时间没有学习目标(尤其是书本知识),就会有一种来自内心虚度年华焦虑。 但学习的选择始终是个大问题。在学校阶段,除了填大学志愿时候
2015-04-29 10:47:49 432
原创 如何判断一个男人是否靠谱?
原文 http://www.nowamagic.net/librarys/eight/posts/2740当我们选择一个男孩子谈恋爱时,通常是二十多岁,顶多三十来岁。 一个男人在二十四五岁的时候,他的事业其实刚刚起步,属于他的独立人生也才刚刚开始。只有再过了多年,他的生活才会被定型下来,人们才知道,这个人最终是怎样的。 那么如何才能在几年前就认定一个人的未来发展呢?我们当然没有
2015-04-29 10:43:43 842
转载 为什么我不推荐大家去外包公司
原文 http://www.nowamagic.net/librarys/veda/detail/597其实大家每天心里都像明镜一样的明白“低技术含量的外包没有前途”,好多人都认为外包没有技术,其实这种思想不对,国外有大量的高端技术外包业务等着我们干,但是反问一句“你们能干吗?”,现在大部分的公司都是平均每个项目开发4个月,干完就再转一个组再做别的项目,从Java .NET C C
2015-04-29 10:37:36 902
原创 convert a hexadecimal string to a byte string
convert a hexadecimal string to a byte string
2015-04-07 18:51:27 440
原创 convert a byte array to a hexadecimal string
Utility method to convert a byte array to a hexadecimal string.
2015-04-07 18:34:05 462
转载 Java程序员面试失败的5大原因
#1 说得太少尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。面试官会通过你对这些技术和非技术问题的回答来评估你的激情。他们也会通过模拟团队氛围和与你的交流互动来判断你的经验和能力。所以,仅仅只用两三句话来回答不但不能显示出你对这个专业的兴趣,还会让整个面试过程显得非常无聊。如果你不能很好地说明你的经验、成就和技能可以给企业带来的价值,那么你的竞争力毫无疑
2015-04-04 20:49:29 331
银行管理系统
2015-11-25
黑马程序员--银行管理系统
2015-11-25
Android项目_私人信息
2014-02-25
struts2hibernate例子.zip
2012-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人