自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【剑指offer】Java实现代码汇总

CodingInterviews《剑指Offer》Java实现,包含了大部分的题目和测试代码 GitHub地址:click mecsdn博客地址:click me题目列表如下: 题目 代码 测试 博客地址 面试题3:数组中重复的数字 代码 测试 博客地址 面试题4:二维数组的查找 代码 测试 博客地址 面试题5:替换空格 代码 测试 博

2017-08-12 00:17:02 3064 1

转载 从理论到实践,让你全面看懂OKR!

转载自:http://www.jianshu.com/p/ce11410844272014年4月,明道开了第一次OKR会议,那是我第一次接触OKR,当时就从心里喜欢上了这种管理方法,没想到后来还结下不小的缘分。先是在明道管理进步课上,为数百家中小企业分享了OKR的经验,后来也协助不少公司用上了OKR,还在在行上给一些创业者分享了经验心得,直到后来创业,仍然选择了聚焦在O

2017-08-31 16:18:58 768

转载 ThreadLocal原理解析(2):ThreadLocalMap源码解析

转载请注明出处:【huachao1001的专栏:http://blog.csdn.net/huachao1001】跟上一篇文章【ThreadLocal原理解析(1):数据存取】一样,本文是源码解析是基于JDK 1.7。在上一篇文章【ThreadLocal原理解析(1):数据存取】中,我们介绍了ThreadLocal读取数据的过程及原理。我们知道,ThreadLocal将变量的各个副

2017-08-23 11:06:56 278

转载 Android进阶——Android消息机制之Looper、Handler、MessageQueue

Android消息机制之Looper、Handler、MessageQueue转载自:http://blog.csdn.net/qq_30379689/article/details/53394061本篇文章包括以下内容:前言Android消息机制的简介Android消息机制的使用Android消息机制的相关概念Android消息机制的通信流程Looper源码分析M

2017-08-23 09:32:53 383

转载 ThreadLocal原理解析(1):数据存取

转载请注明出处:【huachao1001的专栏:http://blog.csdn.net/huachao1001】本文是源码解析是基于JDK 1.7注意:Android内使用的ThreadLocal跟JDK内部的ThreadLocal具体实现有区别。但是他们所做的功能是一致的,只是android针对ThreadLocal做了优化。但这不影响我们学习ThreadLocal的实现思

2017-08-23 01:24:36 288

转载 Android中Activity四种启动模式和taskAffinity属性详解

转载自:http://blog.csdn.net/zhangjg_blog/article/details/10923643在Android应用开发中,打造良好的用户体验是非常重要的。而在用户体验中,界面的引导和跳转是值得深入研究的重要内容。在开发中,与界面跳转联系比较紧密的概念是Task(任务)和Back Stack(回退栈)。activity的启动模式会影响Task和B

2017-08-21 13:41:46 324

转载 Android 三大图片缓存原理、特性对比

转载自:http://www.trinea.cn/android/android-image-cache-compare/这是我在 MDCC 上分享的内容(略微改动),也是源码解析第一期发布时介绍的源码解析后续会慢慢做的事。 从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性上的实现。 上篇关于选择开源项目的好处及

2017-08-21 12:45:51 224

转载 Java泛型:类型擦除

转载自:http://findingsea.github.io/2015/10/09/java-generic-type-erasure/前情回顾Java泛型:泛型类、泛型接口和泛型方法类型擦除代码片段一1234567Class c1 = new ArrayList().getClass();Class c

2017-08-21 01:50:02 363

转载 Java 运行时如何获取泛型参数的类型

在 Java 中对于下面最简单的泛型类class A {    public void foo() {        //如何在此处获得运行时 T 的具体类型呢?    }}设想我们使用时new A().foo();是否能在 foo() 方法中获得当前的类型是 String 呢?答案是否定的,不能。在 foo() 方法中 this

2017-08-21 01:43:22 1551

转载 Java获取泛型参数的类型的方法 - 实例讲解

转载自:http://josh-persistence.iteye.com/blog/2165613在Java中,我们常常需要获取泛型参数的类型,比如将使用了泛型的Java代码进行序列化和反序列化的时候。  一、在开始试图去获取泛型参数的类型前,可以试着去执行如下的类,看看执行的结果:Java代码  /**  *   

2017-08-21 01:30:17 826

转载 java泛型(一)、泛型的基本介绍和使用

转载自:http://blog.csdn.net/lonelyroamer/article/details/7864531   现在开始深入学习Java的泛型了,以前一直只是在集合中简单的使用泛型,根本就不明白泛型的原理和作用。泛型在java中,是一个十分重要的特性,所以要好好的研究下。一、泛型的基本概念 泛型的定义:泛型是JDK 1.5的一项新特性,它

2017-08-21 00:51:58 308

转载 LRU缓存介绍与实现 (Java)

引子:我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东西是一定的,我们只能记住自己最熟悉的,而长时间不熟悉的自然就忘记了。其实,计算机也用到了同样的一个概念,我们用缓存来存放以前

2017-08-15 15:39:24 367

原创 【剑指offer】代码错误记录

把《剑指offer》刷完了,记录一下在牛客网提交代码中错误的记录。 首先贴一张通过的图纪念一下 0.0 错误记录忘了import包手滑没写代码点了提交【剑指offer】面试题16:数值的整数次方 , 没有考虑负数次方忘了import包【剑指offer】面试题26:树的子结构 找到与root2根节点值相同的子节点,并比较这两棵树, 如果root2是root1的子结构,则返回true

2017-08-11 15:17:53 2086 2

原创 【剑指offer】面试题67:把字符串转换成整数

题目将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 思路其实思路很简单,但是要考虑的非法输入和边界值条件很多 合法的输入:1.数字 2.符号(+-)+ 数字 非法输入: 1.null 2.字符串为空 3.字符串只有一个符号(+-) 4.字符串中带有非数字字符 5.字符串超过int能表示的范围 代码public c

2017-08-11 14:09:30 456

原创 【剑指offer】面试题45:把数组排成最小的数

题目输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路考虑到两个数字的拼接可能会出现溢出问题,所以该问题使用字符串来处理 可以转换成字符串排序问题 如数字a与数字b,拼接成字符串ab和字符串ba, 然后按照字典序进行比较,如果ab < ba,则数字a应该排在

2017-08-11 03:36:48 652 1

原创 【剑指offer】面试题3:数组中重复的数字

题目在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 思路解法1: 对数组排序,然后找出重复数字 时间复杂度O(nlogn) 空间复杂度O(1) 解法2: 使用哈希

2017-08-11 03:11:47 9255 1

原创 【剑指offer】面试题66:构建乘积数组

题目给定一个数组 A[0, 1, …, n-1], 请构建一个数组 B[0, 1, …, n-1], 其中B中的元素 B[i] = A[0] * A[1] * … * A[i-1] * A[i+1] * … * A[n-1]。 不能使用除法。 思路B[0] = 1 * A[1] * A[2] * … * A[n-2] * A[n-1] B[1] = A[0] * 1 *

2017-08-11 02:14:54 632

原创 【剑指offer】面试题65:不用加减乘除做加法

题目写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路有空再补上 0.0代码/** * 题目: * 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 * * 思路: * 使用位运算 * * @author peige */public class _65_AddTwoNumbers { public stati

2017-08-06 02:37:12 342

原创 【剑指offer】面试题64:求1+2+......+n

题目求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路看下面的注释代码/** * 思路: * 与 n 有关,又有题目那些限制,我们首先想到用数组解决。 * 将数的累加放到构造函数中。 * 不过因为数组不用for无法直接初始化,所以这个方法是错误的。 * * 解法: * 用&&做截断 *

2017-08-06 01:44:45 415

原创 【剑指offer】面试题61:扑克牌中的顺子

题目LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)… 他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!! “红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子….. LL不高兴了,他想了想,决定大王和小王可以看成任何数字,并且A看作1,J为11,Q为12,K为13

2017-08-04 15:53:23 533

原创 【剑指offer】面试题59(1):滑动窗口的最大值

题目给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。 例如: 如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口, 他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2, 3, 4], 2, 6, 2, 5, 1}, {2, [3, 4, 2], 6, 2, 5, 1

2017-08-04 15:14:32 466

原创 【剑指offer】面试题58(2):左旋转字符串

题目汇编语言中有一种移位指令叫做循环左移(ROL), 现在有个简单的任务,就是用字符串模拟这个指令的运算结果。 对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。 例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。 思路解法1: 开辟一个新的数组来存放左移后会溢出的字符串   新数组: “abc” 然后将原数组左移后再将本来会溢

2017-08-03 22:28:46 328

原创 【剑指offer】面试题58(1):翻转单词顺序

题目牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。 同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。 例如,“student. a am I”。 后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。 Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路先对整个

2017-08-03 21:50:51 668

原创 【剑指offer】面试题57(2):和为S的连续正数序列

题目小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。 但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。 没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。 现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! ps: 输出所有和为S的连续正数序列。

2017-08-03 20:35:02 381

原创 【剑指offer】面试题57(1):和为S的数字

题目输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 ps: 对应每个测试案例,输出两个数,小的先输出。 思路看代码前的注释代码/** * 题目: * 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, * 如果有多对数字的和等于S,输出两个数的乘积最小的。 * 对应每个测试案例

2017-08-03 19:56:14 485

原创 【剑指offer】面试题56(1):数组中只出现一次的两个数字

题目一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路有空再补上 0.0代码/** * 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 * * @author peige */public class _56_01_NumbersAppearOnce { /** * num1,nu

2017-08-02 01:24:11 379

原创 【剑指offer】面试题55(2):平衡二叉树

题目输入一棵二叉树的根节点,判断该树是不是平衡二叉树。 如果某二叉树中的任意节点的左、右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 思路我们用后序遍历的方式遍历二叉树的每个节点,那么在遍历到一个节点之前我们就已经遍历了它的左、右子树。 只要在遍历每个节点的时候记录它的深度,我们就可以一边遍历一边判断每个节点是不是平衡的。 ps:根节点为null时是平衡二叉树代码/** * 题目:

2017-08-01 23:25:06 397

原创 【剑指offer】面试题55(1):二叉树的深度

题目输入一棵二叉树,求该树的深度。 从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 思路递归去找,返回左右子树中较大的值 代码/** * 题目: * 输入一棵二叉树,求该树的深度。 * 从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 * * 思路: * 递归去找,返回左右子树中较大的值 *

2017-08-01 17:32:31 317

原创 【剑指offer】面试题54:二叉搜索树的第k大节点

题目给定一颗二叉搜索树,请找出其中的第k大的结点。 例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。思路二叉搜索树:左子节点 <= 根节点 <= 右子节点 中序遍历:左 -> 根 -> 右代码/** * 给定一颗二叉搜索树,请找出其中的第k大的结点。 * 例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺

2017-08-01 17:31:00 502

原创 【剑指offer】面试题53(1):数字在排序数组中出现的次数

题目统计一个数字在排序数组中出现的次数。思路二分法找到该数字的第一个下标,和最后一个下标 若在数组中找到某下标对应的值为k,  如果它的前一个数字不为k,则它就是第一个k;  如果它的后一个数字不为k,则它就是最后一个k 代码/** * 题目: * 统计一个数字在排序数组中出现的次数。 * * 思路: * 二分法找到该数字的第一个下标,和最后一个下标 * 若在数组中找到某下标对

2017-08-01 14:28:07 374

原创 【剑指offer】面试题52:两个链表的第一个公共节点

题目输入两个链表,找出它们的第一个公共结点。思路关键: 这题的关键点在于,这两个链表,如果有公共点, 那么从他们的公共点开始,到链表结束,在两个链表中是一致的。解法1: 使用两个栈解法2: 1.首先遍历两个链表得到它们的长度m, n (m > n) 2.在长度为m的链表上先走m-n步 3.同时在两个链表上遍历,第一个相同的节点就是他们的第一个公共节点代码/** * 题目: * 输入两

2017-08-01 03:10:14 712

原创 【剑指offer】面试题51:数组中的逆序对

题目在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的结果输出。 即输出P%1000000007 思路有空再补上 0.0 使用归并排序 代码/** * 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 * 输入一个数组,求出这个数组中的逆序对

2017-08-01 02:37:48 646

原创 【剑指offer】面试题50(2):字符流中第一个只出现一次的字符

题目请实现一个函数用来找出字符流中第一个只出现一次的字符。 例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。 当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。 如果当前字符流没有存在出现一次的字符,返回#字符。 思路有空再补上 0.0代码public class _50_02_FirstCharacterInStream {

2017-08-01 00:14:43 502

MFC不规则窗口制作

MFC不规则窗口的制作,让你的界面更炫酷,参考各种音乐播放器之类。

2015-07-24

空空如也

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

TA关注的人

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