算法-二分查找
扎克begod
喜欢算法、数据结构,大数据开发,性能优化,源码分析,高并发、低能耗、高容错、可扩展、解耦合架构设计。
展开
-
判断子序列is-subsequence 两种解法
* 判断子序列 * 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 * 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。 * 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不...原创 2018-09-11 22:29:19 · 1776 阅读 · 0 评论 -
排列硬币 arrange coins 三种解法详解
* 排列硬币 * https://leetcode-cn.com/problems/arranging-coins/description/ * 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。 * 给定一个数字 n,找出可形成完整阶梯行的总行数。 * n 是一个非负整数,并且在32位有符号整型的范围内。 * 示例 1: * n = 5 * 硬币可排列成...原创 2018-09-12 12:30:53 · 1145 阅读 · 2 评论 -
二分查找 Binary Search 算法示例
二分查找,就是在有序的序列里面,通过不断比较中间位置的数是否是target值,来变化left和right指针,从而大大提高查询效率。 每次比较都可以减少数据量一半,所以二分查找算法的时间复杂度是O(logN)。 代码示例和详细注释: public class BinarySearch { public static int search(int[] nums, int target...原创 2018-09-11 21:38:57 · 628 阅读 · 0 评论