快速寻找满足条件的两个数
摘要:《编程之美》里的一个题目:能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,假设这个数组中肯定存在至少一组符合要求的解。 LeetCode的题目: Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum ...
阅读全文
leetcode Online Judge 150题 解答分析之一 Reverse Words in a String
摘要:问题Given an input string, reverse the string word by word.For example, Given s = "the sky is blue", return "blue is sky the".面试时我应该至少问的问题What constitut...
阅读全文
coding题都在考察我们的什么技能
摘要:其实不是都在考我们的算法设计,有的时候算法简单,但是coding却可能不那么简单,比如下面这道题目:题:写一个把字符串的IP地址变成32位整数的函数,要求考察程序健壮性。这题初看起来一点都不难,但是真写起来,要没错误还是有点难度的。
阅读全文
子序列问题集锦
摘要:题目1:序列123...N,N介于3和9之间,在其中加入+、-或者空格,使其和为0。如123456 1-2 3-4 5+6 7 等价于1-23-45+67=0。请问,如何获得所有组合? 题目2:求数组的子数组之和最大值:一个有N个整数元素的一维数组,求其子数组之和的最大值。求和最大的子数组。 扩展题目2:在一个二维数组中,求其子数组之和的最大值。 题目3:最长公共子序列:两个字符串,求这两个字符...
阅读全文
经典计算机算法设计方法(4) -- 动态规划之一(理论篇)
摘要:跟分治法类似的是,动态规划也是通过组合子问题的解而解决整个问题的,不同的是,分治把问题划分为一些独立的子问题,但动态规划适用的是子问题不独立的情况,也就是子问题包含公共的子子问题。 动态规划通常应用于最优化问题,这些问题往往有很多个解,即使是最优解也可能有多个,所以动态规划的某种应用只是找出了一个最
阅读全文
面试题集合
摘要:A binary gap within a positive integer N is any maximal sequence of consecutive zeros that issurrounded by ones at both ends in the binary representat...
阅读全文
计算机算法学习(1) - 不相交集合数据结构
摘要:不相交集合 故名思意就是一种含有多个不相交集合的数据结构。典型的应用是确定无向图中连通子图的个数。其基本操作包括:Make-Set(x):建立一个新的集合,集合的成员是x;Union(x,y): 将包含x和y的集合合并为一个集合;Find-Set(x): 返回指向包含x的集合的指针;下面是一个例子,...
阅读全文