自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3. 无重复字符的最长子串

【题目链接】https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/【思想】初始时,字符串 S 的无重复字符的最长子串在 ij 区间[0,0],探索子串在 mn 区间也是[0,0]尝试向 mn 中逐一添加 S 中的字符添加成功( mn 中本不包含该字符),则扩大mn,并判断扩大后的 mn...

2020-02-12 11:52:36 114

原创 2. 两数相加

【题目链接】https://leetcode-cn.com/problems/add-two-numbers/【思想】两个list上的节点依次拿下来相加,和成为结果list的节点注意两个list可能不一样长,甚至其中一个是null注意进位的处理,不要忘记两个list都加完之后最高位可能还有一个进位【Java代码】public class ListNode { int val;...

2020-02-12 10:57:46 94

原创 1.两数之和

【题目链接】https://leetcode-cn.com/problems/two-sum【思想】简单粗暴双层for循环【Java代码】 public int[] twoSum01(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { for (int j = ...

2020-02-11 16:09:25 93

转载 Java并发编程:volatile关键字解析

作者:海子  出处:http://www.cnblogs.com/dolphin0520/Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  vol

2017-07-01 09:26:02 163

转载 详解C中volatile关键字

原文链接:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.htmlvolatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更

2017-07-01 09:14:41 109

原创 【剑指offer】二叉树的层次遍历 II

描述:给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)样例:给出一棵二叉树 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7按照从下往上的层次遍历为:[ [15,7], [9,20], [3]]Java

2017-06-28 15:48:53 167

原创 【剑指offer】二叉树的前序遍历

描述:给出一棵二叉树,返回其节点值的前序遍历。样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3].Java代码:/** * Definition of TreeNode: * public class TreeNode { * public int val; *

2017-06-28 15:47:07 134

原创 【剑指offer】二叉树的中序遍历

描述:给出一棵二叉树,返回其中序遍历样例:给出二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [1,3,2].Java代码:/** * Definition of TreeNode: * public class TreeNode { * public int val; * public

2017-06-28 15:45:30 145

原创 【剑指offer】螺旋矩阵

描述:给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素。样例:给定如下矩阵:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]应返回 [1,2,3,6,9,8,7,4,5]。Java代码:public class Solution { /**

2017-06-28 15:40:54 293

原创 【剑指offer】将二叉查找树转换成双链表

描述:将一个二叉查找树按照中序遍历转换成双向链表。样例:给定一个二叉查找树: 4 / \ 2 5 / \1 3返回 12345。Java代码:/** * Definition of TreeNode: * public class TreeNode { * public int val; * publ

2017-06-28 15:38:43 124

原创 【剑指offer】二叉树的后序遍历

描述:给出一棵二叉树,返回其节点值的后序遍历。样例:给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [3,2,1]java 代码:/** * Definition of TreeNode: * public class TreeNode { * public int val; *

2017-06-25 23:04:10 133

转载 在Java中如何使用transient

Java语言的transient不像class、synchronized和其他熟悉的关键字那样众所周知,因而它会出现在一些面试题中。这篇文章我将为大家讲解transient。transient的用途Q:transient关键字能实现什么?A:当对象被序列化时(写入字节序列到目标文件)时,transient阻止实例中那些用此关键字声明的变量持久化;当对象被反序列化时(从源文件

2017-06-22 20:41:19 202

原创 【剑指offer】字符串置换

描述:给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。置换的意思是,通过改变顺序可以使得两个字符串相等。样例:"abc" 为 "cba" 的置换。"aabc" 不是 "abcc" 的置换。Java代码:字符串a,b的每一个字符都哈希到一个map里,a的字符加1,b的字符减1,统计为0 的时候删除字符,最后判

2017-06-22 10:10:18 299

原创 【剑指offer】克隆二叉树

描述:深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。样例:给定一个二叉树: 1 / \ 2 3 / \4 5返回其相同结构相同数值的克隆二叉树: 1 / \ 2 3 / \4 5Java代码:/** * Definition of TreeN

2017-06-21 11:58:34 168

原创 【剑指offer】二叉树的路径和

描述:给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。样例:给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / \ 2 3返回:[ [1, 2, 2], [1, 4]]Java代码:二叉树:先序遍历(根

2017-06-21 11:55:48 170

原创 【剑指offer】快速幂

描述:计算an % b,其中a,b和n都是32位的整数。样例:例如 231 % 3 = 2例如 1001000 % 1000 = 0Java代码:class Solution { /* * @param a, b, n: 32bit integers * @return: An integer */

2017-06-20 11:09:28 160

原创 【剑指offer】用递归打印数字

描述:用递归的方法找到从1到最大的N位整数。 注意事项用下面这种方式去递归其实很容易:recursion(i) { if i > largest number: return results.add(i) recursion(i + 1)}但是这种方式会耗费很多的递归空间,导致堆栈溢出。你能够用其他的方式来递归使得递归的深

2017-06-20 11:05:37 155

原创 【剑指offer】翻转链表

描述:翻转一个链表样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->nullJava代码:/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val)

2017-06-20 11:01:09 148

原创 【剑指offer】合并两个排序链表

描述:将两个排序链表合并为一个新的排序链表样例:给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。Java代码:/** * Definition for ListNode. * public class ListNode { * int val; * Lis

2017-06-20 10:58:40 152

原创 【剑指offer】删除链表中倒数第n个节点

描述:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 注意事项链表中的节点个数大于等于n样例:给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.Java代码:前后两个指针,第一个先走n步,然后两个一起走,第一个到达链表尾部时,第二个就是要删

2017-06-20 10:50:35 198

原创 【剑指offer】子树

描述:有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。 注意事项若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。样例:下面的例子中 T2 是 T1 的子树:

2017-06-20 10:46:07 145

原创 【剑指offer】在O(1)时间复杂度删除链表节点

描述:给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。样例:给定 1->2->3->4,和节点 3,删除 3 之后,链表应该变为 1->2->4。Java代码:非表头或表尾时,将下个点的值复制到要删除的节点中,然后将下一个节点删掉。/** * Definition for ListNode. * p

2017-06-19 12:42:30 305

原创 【剑指offer】奇偶分割数组

描述:分割一个整数数组,使得奇数在前偶数在后。样例:给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。Java代码:public class Solution { /** * @param nums: * an array of integers * @return: nothing */ public v

2017-06-17 10:15:26 181

原创 【剑指offer】搜索二维矩阵 II

描述:写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每一列的整数从上到下是排序的。在每一行或每一列中没有重复的整数。样例:考虑下列矩阵:[    [1, 3, 5, 7],    [2, 4, 7, 8],    [3, 5, 9, 10]]给出ta

2017-06-17 09:56:18 271

原创 【剑指offer】用栈实现队列

描述:正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。样例:比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2

2017-06-17 09:52:27 125

转载 【剑指offer】前序遍历和中序遍历树构造二叉树

原文链接:http://www.jianshu.com/p/2a2489b1f873描述:根据前序遍历和中序遍历树构造二叉树. 注意事项你可以假设树中不存在相同数值的节点样例:给出中序遍历:[1,2,3]和前序遍历:[2,1,3]. 返回如下的树: 2 / \1 3Java代码:首先还是对数组进行判断,如果前序遍

2017-06-17 09:50:18 190

原创 【剑指offer】寻找旋转排序数组中的最小值

描述:假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。你需要找到其中最小的元素。你可以假设数组中不存在重复的元素。 注意事项You may assume no duplicate exists in the array.样例:给出[4,5,6,7,0,1,2]  返回

2017-06-17 09:45:23 205

原创 【剑指offer】翻转链表

描述:翻转一个链表样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->nullJava代码:一个指针指旧list一个指针指新list一个临时指针头插法/** * Definition for ListNode. * public class ListNode { * int val; *

2017-06-17 09:41:56 126

原创 【剑指offer】二进制中有多少个1

描述:计算在一个 32 位的整数的二进制表式中有多少个 1.样例:给定 32 (100000),返回 1给定 5 (101),返回 2给定 1023 (111111111),返回 9Java代码:num num乘以2。右边补0>>:右移运算符,num >> 1,相当于num除以2。正数左边补0,负数左边补1>>>:无符号右移,忽略符号位,

2017-06-17 09:39:09 143

原创 【剑指offer】空格替换

设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。你的程序还需要返回被替换后的字符串的长度。样例对于字符串"Mr John Smith", 长度为 13替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。先

2017-06-17 09:27:29 111

原创 【剑指offer】单例

单例 是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式。你的任务是设计一个 getInstance 方法,对于给定的类,每次调用 getInstance时,都可得到同一个实例。样例在 Java 中:A

2017-06-17 09:22:15 100

原创 【剑指offer】斐波纳契数列

查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ... 注意事项The Nth fibonacci number won't exceed the max va

2017-06-17 09:18:49 131

原创 【剑指offer】Fizz Buzz 问题

给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:如果这个数被3整除,打印fizz.如果这个数被5整除,打印buzz.如果这个数能同时被3和5整除,打印fizz buzz.样例比如 n = 15, 返回一个字符串数组:[ "1", "2", "fizz", "4", "buzz", "fizz", "7", "8", "fi

2017-06-17 09:13:28 199

转载 数组

数组定义//一维数组 int[] a = { 1, 2, 3 }; int[] b = new int[10]; int[] c = new int[] { 1, 2, 3 }; //二维数组 int[][] aa = { { 1, 2, 3 }, { 4, 5, 6 } }; int[][] bb = new int[2][3]; int[][] cc

2015-08-10 22:41:42 340

原创 tigase服务器tcp保活分析

客户端(spark,psi)和服务器端(tigase)有各自的tcp保活机制。这个很好理解,客户端需要知道啥时候服务器挂了,服务器也需要知道客户端啥时候挂了。客户端每隔一段时间(大概几十秒,每种客户端不一样)就会向服务器发tcp层保活包(带一个字节的数据)。服务器每隔一段时间(默认几十分钟)就会向客户端发保活包。tigase保活包有两种:xmpp层ping包,tcp层保活包(带一个字节数据

2015-07-02 11:28:22 1120

原创 判断ip是否合法

/** *  * @param inputStr *            输入字符串 * @param outputStr *            输出判断结果 *  * @description: 输入的inputStr是合法的IP,返回YES,否则返回NO 示例 输入:10.138.15.1 返回:YES *  */public class Demo

2015-06-09 10:34:32 418

原创 tigase sals SCRAM-SHA-1

tigaes中有SCRAM-SHA-1的源码,但是默认sals只支持PLAIN和ANONYMOUS,如何把SCRAM-SHA-1用起来?参考官方开发文档:http://docs.tigase.org/tigase-server/7.0.0/Development_Guide/html/#saslcmac服务器端:1、把“SCRAM-SHA-1”加入服务器支持的sals列表中

2015-06-04 11:23:28 1419

转载 openfire/tigase源码环境搭建

1、openfire 3.9.3源码源码搭建下面这个哥们写的挺好,按照文档来就可以了http://blog.csdn.net/lovexieyuan520/article/details/377434332、tigase 7.0.2源码环境搭建下面这篇文章还是挺有参考价值的,但是我还是遇到了一些小问题。http://blog.csdn.net/nomousewch/

2015-06-04 10:49:26 770

原创 webRTC例子之stepx和webrtc.io

这两个例子都是运行在node.js上的。1,stepxstepx是webrtc官网推荐的一个例子,这个例子最终的效果是两个带摄像头的设备通过chrome浏览器可以互发各自摄像头采集的图片。这个例子的webrtc接口调用时序和下面这个流程图展示的是一样的,在stepx源码基础上稍加修改就能实现实时视频。这个例子的信令交互用的socket.io。时序:假设第一个进入房间的是

2015-04-19 21:33:56 1080

原创 mac使用小技巧

1,android模拟器横竖屏切换fn+control+f12

2015-04-08 20:25:13 376

thinking in java(中文第三版)

pdf格式的,好书好书啊,值得一看,够20字了没?

2009-09-15

空空如也

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

TA关注的人

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