2017年1月4日

LeetCode---Stack && Heap

摘要: 402. Remove K Digits 思路:一次判断字符若比栈顶字符大则入栈,若小则pop,同时k ,直到k为0,注意最终k没有减为0或者中途栈为空或者最终结果前面带0的情况 public String removeKdigits(String num, int k) { if(k == num 阅读全文

posted @ 2017-01-04 15:37 LeonNew 阅读(152) 评论(0) 推荐(0) 编辑

2017年1月3日

LeetCode---Binary Search

摘要: 475. Heaters 思路:每趟循环查找离房子最近的热水器,计算距离,最后取最大距离 public int findRadius(int[] houses, int[] heaters) { Arrays.sort(houses); Arrays.sort(heaters); int j = 0 阅读全文

posted @ 2017-01-03 11:22 LeonNew 阅读(151) 评论(0) 推荐(0) 编辑

2016年12月29日

LeetCode---Hash Table

摘要: 299. Bulls and Cows 思路:抽屉法,放进secrets,拿出guess,最终cows = cows bulls public String getHint(String secret, String guess) { int bulls = 0; int cows = 0; int 阅读全文

posted @ 2016-12-29 09:33 LeonNew 阅读(184) 评论(0) 推荐(0) 编辑

2016年12月20日

LeetCode---String

摘要: Count and Say 思路:递归求出n 1时的字符串,然后双指针算出每个字符的次数,拼接在结果后面 public String countAndSay(int n) { if(n == 1) return "1"; String front = countAndSay(n 1); int i 阅读全文

posted @ 2016-12-20 14:58 LeonNew 阅读(129) 评论(0) 推荐(0) 编辑

2016年12月16日

java编译期优化

摘要: java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程: 1.前端编译:把 .java文件转变为 .class文件 2.后端编译:把字节码转变为机器码 3.静态提前编译:直接把 .java文件编译成本地机器代码 从JDK1.3开始,虚拟机设计团队就把对性能的优化集中到了后端的即时 阅读全文

posted @ 2016-12-16 16:30 LeonNew 阅读(2547) 评论(1) 推荐(0) 编辑

2016年12月8日

LeetCode----Tree

摘要: Path Sum II 思路:回溯 public List pathSum(TreeNode root, int sum) { List list = new ArrayList (); if(root == null) return list; List inList = new ArrayLis 阅读全文

posted @ 2016-12-08 10:52 LeonNew 阅读(237) 评论(0) 推荐(0) 编辑

2016年12月7日

java jvm

摘要: java VS c++ 在学习java虚拟机之前,首先认识一下java和c++的区别: C++强大之处在于能直接操作内存,嵌套C和汇编,还可以直接操作系统的硬件,这让程序员非常有成就感; 当然能力越大,麻烦事越多,你需要手工去控制很多东西,要一直维护着每个对象从诞生到结束的整个过程. Java则是把 阅读全文

posted @ 2016-12-07 15:50 LeonNew 阅读(138) 评论(0) 推荐(0) 编辑

2016年11月14日

LeetCode----Linked List

摘要: Swap Nodes in Pairs 思路:需要构造一个头指针,指向链表。一次比较两个指针,将其翻转,临界条件是pre != null(链表长度为偶数) && pre.next != null(链表长度为奇数),然后更新头指针和pre public ListNode swapPairs(ListN 阅读全文

posted @ 2016-11-14 16:04 LeonNew 阅读(132) 评论(0) 推荐(0) 编辑

2016年10月28日

LeetCode----Array

摘要: Remove Duplicates from Sorted Array 思路:两个指针,头指针在0,尾指针从1开始寻找,找到第一个不等于头指针值的数,覆盖掉头指针后面那个数,然后尾指针往后移。 public int removeDuplicates(int[] nums) { if(nums.len 阅读全文

posted @ 2016-10-28 15:20 LeonNew 阅读(249) 评论(0) 推荐(0) 编辑

2016年9月27日

Storm进阶

摘要: 并行度 在Storm集群中真正运行Topology的主要有三个实体:worker、executor、task,下图是可以表示他们之间的关系。 数据流模型 对于一个Spout或Bolt,都会有多个task线程来运行,那么如何在两个组件(Spout和Bolt)之间发送tuple元组呢?Storm提供了若 阅读全文

posted @ 2016-09-27 14:27 LeonNew 阅读(1702) 评论(0) 推荐(0) 编辑

导航