摘要:二分法模板 非递归版本: 死循环的发生:when target is the last position of the rangenums = [1,1], target = 1使用 start < end 无论如何都会出现死循环 递归版本: 常见问题 Q: 为什么要用 start + 1 < en
阅读全文
摘要:时间复杂度 在面试中,经常会涉及到时间复杂度的计算。当你在对于一个问题给出一种解法之后,面试官常会进一步询问,是否有更优的方法。此时就是在问你是否有时间复杂度更小的方法(有的时候也要考虑空间复杂度更小的方法),这个时候需要你对常用的数据结构操作和算法的时间复杂度有清晰的认识,从而分析出可优化的部分,
阅读全文
摘要:Java 的 String 类基本用法介绍:http://www.runoob.com/java/java-string.html Java 的 String.substring 函数:https://beginnersbook.com/2013/12/java-string-substring-m
阅读全文
摘要:能够用 BFS 解决的问题,一定不要用 DFS 去做 因为用 Recursion 实现的 DFS 可能造成 StackOverflow (NonRecursion 的 DFS 一来你不会写,二来面试官也看不懂) 1. Queue Java常用的队列包括如下几种: ArrayDeque:数组存储。实现
阅读全文
摘要:什么是 Interface Java接口(Interface)是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。打一个比方,接口好比一个戏中的角色,这个角色有一些特定的属性和操作,然后实现接口的类
阅读全文
摘要:本节内容:Lect 2 RPC and Threads 线程:Threads allow one program to (logically) execute many things at once.The threads share memory. However, each thread inc
阅读全文
摘要:本节内容:Lect 1 MapReduce框架的执行过程: 具体过程可以参考这张图: MapReduce模型的容错性:map()/reduce()各个函数之间都是独立运行的,没有依赖。所以重新执行也会产生相同的输出。纯函数的这个需求是MR相对于其他并行编程方案的主要限制,然后也是因为这个需求使得MR
阅读全文