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

2019-11-16
阅读 1 分钟
916
思路 使用一个idx指明当前子串的开始位置 {代码...} 优化 提取有用的条件分支 {代码...}

使用libuv编写简单的TCP Server

2019-10-07
阅读 3 分钟
6k
libuv使用基于事件的异步回调的方式来处理多个IO事件 因此使用一个线程就可以监控大量的文件(socket等文件类型)这种基于回调的编程风格在代码的可读性上比较差,这里梳理一下流程 创建TCP服务端的三个步骤: 创建TCP套接字, 绑定IP&&PORT,LISTEN 然后运行uv_run 一个新连接的建立的时候,on_new_connection被调用 ...

Java中的栈

2019-03-28
阅读 2 分钟
2.8k
Java中的栈 Java中的Stack是早期的遗留类,Sun/Oracle已经不推荐使用,现在只是为了兼容遗留代码而保留. 遗留实现 如下面的代码所示,java.util.Stack中的实现是基于动态数组实现的,而Vector同样是一个被废弃的类。 个人看来,这个实现有两个问题 基于Vector,需要同步因而性能损失很严重 基于数组而非链表,栈很大时需...

动态规划之Leetcode 198 213

2018-08-15
阅读 2 分钟
1.5k
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 输入: ...