随笔分类 - g:Data structure & algorithm
摘要:1. 什么是最长公共子序列?什么是最长公共子串? 1.1. 最长公共子序列(Longest-Common-Subsequences,LCS) 最长公共子序列(Longest-Common-Subsequences,LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。这
阅读全文
摘要:1. 什么是编辑距离? 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。 举个例子,给定 2 个字符
阅读全文
摘要:题目描述 字符串由"."和ASCII码字母构成,若每次操作将字符串中出现连续两个“.”,则以“.”替代,则可以将函数f(s)定义为使得串中不出现连续2个“.”的最小置换次数。 现考虑m个字符替换操作,每次将指定位置的字符替换为给定字符,求替换后函数的f(s)的值。 输入: 输入有若干组,第一行为2个
阅读全文
摘要:题目 描述:设有n个正整数,将它们依次连成在一排,组成一个多位数,现在要求可能组成的多位数中最大的多位数是什么? 例如:n=3时,3个整数13,312,343连成的最大多位数为:343-312-13。 例如:n=4时,4个证书7,13,4,246连成的最大多位数为:7-4-246-13。 输入:n个
阅读全文
摘要:二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低——
阅读全文
摘要:首先处理大数据的面试题,有些基本概念要清楚: (1)1Gb = 109bytes(1Gb = 10亿字节):1Gb = 1024Mb,1Mb = 1024Kb,1Kb = 1024bytes; (2)基本流程是,分解大问题,解决小问题,从局部最优中选择全局最优;(当然,如果直接放内存里就能解决的话,
阅读全文
摘要:在如下8*6的矩阵中,请计算从A移动到B一共有__种走法。要求每次只能向上或向右移动一格,并且不能经过P。 A:456 B:492 C:568 D:626 E:680 F:702 解析: 8*6的矩阵,从左下角A到右上角B,一共需要走12步,其中5步向上,7步向右,因此总的走法一共有C(12,5)=
阅读全文
摘要:一,set和hash_set简介 在STL中,set是以红黑树(RB-Tree)作为底层数据结构的,hash_set是以哈希表(Hash table)作为底层数据结构的。set可以在时间复杂度为O(logN)的情况下插入,删除和查找数据。hash_set操作的时间度则比较复杂,取决于哈希函数和哈希表
阅读全文
摘要:---2016/03/10更新-start-- 【快速排序性能分析】 参考资料:http://book.51cto.com/art/201108/287089.htm 今天阅读上边的这篇资料,让我对快速排序的性能分析的关键点有了更深入的理解。 前言 我们都知道快速排序的时间复杂度一般为O(N*log
阅读全文
摘要:题目:http://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49辅助栈C++ 1 class Solution { 2 public: 3 void push(int v) { 4 int m = s1....
阅读全文
摘要:题目:http://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593C++ 1 class Solution { 2 public: 3 void reOrderArray(vector &arr) { 4 ...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00/*** 1.全面考察指数的正负、底数是否为零等情况。* 2.写出指数的二进制表达,例如13表达为二进制1101。* 3.举例:10^1101 = 10^0001*...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8C++负数需要特殊处理,因为负数右移会补1(符号位) 1 class Solution { 2 public: 3 int NumberOf1(int ...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6C++ 1 class Solution { 2 public: 3 int rectCover(int n) { 4 if (n == 1...
阅读全文
摘要:C++1 class Solution {2 public:3 int jumpFloorII(int n) {4 return 1 f(0) + f(1) + f(2) + f(3) + ... + f(n-1)6) 由以上已经是一种结论,但是为了简单,我们可以继续简化:...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4C++1 class Solution {2 public:3 int jumpFloor(int n) {4 if (n == 1 || ...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3C++ 1 class Solution { 2 public: 3 int Fibonacci(int n) { 4 if (n == 0...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01baC++ 1 class Solution { 2 public: 3 int minNumberInRotateArray(vector arr) { 4 ...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6C++ 1 class Solution 2 { 3 public: 4 void push(int node) { 5 stack1.pu...
阅读全文
摘要:题目:http://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6C++/** * Definition for binary tree * struct TreeNode { * int val; * TreeN...
阅读全文