E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Cracking
《
Cracking
the Coding Interview》——第2章:链表——题目2
2014-03-18 02:24 题目:给定一个单链表,找出倒数第K个节点。 解法:让一个指针先走K步,然后俩指针一起走到尽头。当然也可以先走到尽头数出链表的长度,然后第二次少走K步。其实耗费的工夫是一样的,但貌似总有人觉得第一种方法很巧妙很优美。 代码: 1 // 2.2 Remove a node from middle of a linked list 2 #include
·
2015-10-31 15:31
interview
《
Cracking
the Coding Interview》——第2章:链表——题目1
2014-03-18 02:16 题目:给定一个未排序的单链表,去除其中的重复元素。 解法1:不花额外空间,使用O(n^2)的比较方法来找出重复元素。 代码: 1 // 2.1 Remove duplicates from a linked list 2 // inefficient without hashing space 3 #include <cstdio>
·
2015-10-31 15:31
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目8
2014-03-18 02:12 题目:判断一个字符串是否由另一个字符串循环移位而成。 解法:首先长度必须相等。然后将第一个串连拼两次,判断第二个串是否在这个连接串中。 代码: 1 // 1.8 Assume you have a method isSubstring which checks if one word is a substring of another. Given t
·
2015-10-31 15:30
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目7
2014-03-18 01:55 题目:给定一个MxN矩阵,如果某个元素为0,则将对应的整行和整列置为0。 解法:单独挑出一行和一列作为标记数组。因为某元素为0就全部置为0,所以不论A[i][j]为0中的j是几,第i行总会被置为0的。再用O(1)的额外空间去标记单独挑出的那一行一列是否包含0即可。要注意最后清零的顺序和范围不要错了。 代码: 1 // 1.7 Write an alg
·
2015-10-31 15:29
interview
《
Cracking
the Coding Interview》——第3章:栈和队列——题目5
2014-03-18 05:33 题目:用两个栈来实现一个队列。 解法:栈是反的,队列是正的,反了再反就正过来了。所以,请看代码。操作中时间复杂度有O(1)的,有O(n)的,但均摊下来时间符合O(1)。 代码: 1 // 3.5 Implement a queue MyQueue using two stacks. 2 #include <climits> 3 #i
·
2015-10-31 15:28
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目6
2014-03-18 01:45 题目:给定一个NxN的矩阵,就地旋转90度。(没有样例又不说方向的话,随便往哪儿转。) 解法:如果N为奇数,除了中心点以外四等分。如果N为偶数,四等分。按照A->B->C->D->A的方式,轮换赋值,需要O(1)的额外空间保存A的值。 代码: 1 // 1.6 Given an image represented by an N
·
2015-10-31 15:28
interview
《
Cracking
the Coding Interview》——第12章:测试——题目5·
2014-04-25 00:41 题目:怎么测试一支笔?(Pen?您老说的是钢笔?) 解法:这种简约而不简单的题目,实在是面试官最喜欢,面试者最头疼的类型了。面试官可以只花三秒,以一种灰常高贵冷艳的语气甩出这道题。然后头疼脑热的就是你了。怎么做呢?Brainstorming,找特征,分解问题,关联问题和特征,然后按规矩解题。我个人觉得这类题其实不是考察创意,而是考察发现问题、分析问题、解决问题
·
2015-10-31 11:35
interview
《
Cracking
the Coding Interview》——第12章:测试——题目6
2014-04-25 00:53 题目:你要如何测试一个分布式银行系统的ATM机? 解法:ATM是Automatic Teller Machine,取钱的。我想了半天,没找到什么很清晰的思路,也许是因为自己不常取款吧。看了书后解答之后,觉得也不算很靠谱的答案,所以认为这题比较扯淡了。 代码: 1 // 12.6 How would you test an ATM machine in a
·
2015-10-31 11:35
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目3
2014-04-24 21:06 题目:假设你有40亿个不重复的非负整数存在一个文件里,1GB的内存。你要如何找出一个文件中不包含的整数呢?如果是10亿个整数,10MB内存又该如何? 解法:前者内存充足,可以直接用一个位向量来标记整数的出现情况,然后顺序扫描找出第一个没出现过的数字。后者内存不足,可以把整数范围分成多段,每次扫描整个文件,判断该段中的所有整数是否都出现过了。如果有没出现的,答案
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目1
2014-04-24 00:38 题目:加入你要设计一个服务,供至多1000个client查询每日股票的最高、最低、开盘、收盘价,请描述你要如何设计这个服务。 解法:可以用SQL数据库组织,也可以用K-V数据库来提供更高性能。如果股票数量相对不大,还可以用XML文件组织数据。在百度里搜“BIDU”,或在Google里搜“GOOG”,就能看见例子了。 代码: 1 // 10.1 Supp
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目2
2014-04-24 20:44 题目:对于Facebook、Linkedin这样的社交网站,你要如何设计一个数据结构来表示用户之间的关系呢?比如两个用户互为2nd-degree connection。你要如何设计算法来找出他们之间的联系路径呢? 解法:显然,社交网络的数据是平方级别的,因为任何人的联系往往是C(n, 2) = n * (n - 1) / 2。所以这种数据结构应该是个无向图和有
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目5
2014-04-24 21:52 题目:如果你要设计一个网络爬虫,如何避免进入抓取死循环? 解法:对网址做格式归一化,重复检测。设计一个碰撞率尽量低的签名算法,对每次抓取了的网址计算签名并保存入库。一个正常网站中的超链接会有大量有向的环路(没有环路就代表你无法通过点击链接的方式回到之前访问过的地方,这肯定不科学啦),所以检测去重是必须的功能。 代码: 1 // 10.5 Assume t
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目4
2014-04-24 21:26 题目:有一列数,范围全部在1~N之间,保证所有1~N之间的数字都会出现。如果你有4KB的内存,并且知道N最多是32000。请设计方法,找出N,并打印出所有有重复的数字。 解法:既然是“重复”,那就可以用位向量了。再考察N的范围,4KB内存有32768个位,足以容下至多32000个数字了。要找出N,就得找到第一个没有出现过的数字,扫描一次所有数字即可得到。对于重
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目9
2014-04-23 23:57 题目:如何设计一个内存文件系统,如果可以的话,附上一些代码示例。 解法:很遗憾,对我来说不可以。完全没有相关经验,所以实在无从入手。这题目应该和工作经验相关吧? 代码: 1 // 8.9 How would you design an in-memory file system. 2 // I wouldn't possibly do that wit
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目10
2014-04-24 00:05 题目:用拉链法设计一个哈希表。 解法:一个简单的哈希表,就看成一个数组就好了,每个元素是一个桶,用来放入元素。当有多个元素落入同一个桶的时候,就用链表把它们连起来。由元素值到哈希值的映射就是哈希函数了。 代码: 1 // 8.10 Design a hash table. Handle conflicts with chaining(linked l
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第12章:测试——题目4
2014-04-25 00:35 题目:没有专门的测试工具,你要如何对一个网页进行压力测试? 解法:拼手速,拼电脑数量呗。快捷键+复制粘贴网址,狂搞一番。话说回来,有脚本语言的情况下,直接写个脚本来模拟大量的访问行为肯定是更合理的,手速再快比不过程序。没有工具时,应该想着如何制造工具,而不是赤手空拳去搞。 代码: 1 // 12.4 How would you load test a
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第12章:测试——题目3
2014-04-24 23:28 题目:玩象棋游戏,你要设计一个bool型的方法来检测一个棋子能否移动到指定位置。 解法:不同的棋子有不同的移动规则,那么应该采取棋子基类实现接口,各个棋子子类来实现的方式。棋子除了类型之外,还必须要记录当前位置,作为判断的依据。而要移到的位置,则作为参数传给方法。不过这个题目出现在软件测试的章节里,应该是要描述如何测试吧。没学过系统的测试方法,遇到这种题的话还
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目7
2014-04-24 22:06 题目:搜索引擎问题,如果有一列100台服务器的集群,用来响应查询请求,你要如何设计query分发和cache策略? 解法:query分发可以用计算数字签名并对机器数取模来确定分发到的目标机器。当然这个和hash一样,会存在冲突和故障的情况,需要额外处理。至于cache策略,基本思想是LRU,对于数据变更,采取另加工作线程来定期更新,遇到特定事件也可以主动更新。
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第12章:测试——题目1
2014-04-24 23:10 题目:找出下面代码里的错误。 解法:请看下面。 代码: 1 // 12.1 What's wrong with the following code segment? 2 #include <cstdio> 3 using namespace std; 4 5 // unsigned int will never be n
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第10章:可扩展性和存储空间限制——题目6
2014-04-24 22:01 题目:你有10亿条url,怎么检测其中时候有重复呢? 解法:Hash,算签名,然后用K-V数据库保存数据查重。 代码: 1 // 10.6 You have 10 billion URLs, how would you do to detect duplicates in them. 2 // Answer: 3 // 1. Use digit
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第12章:测试——题目2
2014-04-24 23:15 题目:你有一段程序,运行了十次每次都在不同的地方崩掉了。已知这段程序只用了标准C或C++库函数,请问有什么思路来找出问题所在。 解法:1. 时间戳每次都不同。2. 随机变量每次都不同。3. 局部变量的初值,每次可能不同,不过就算没初始化,很多时候那个无效值其实也是固定的,和编译器操作系统之类的相关。4. 外部依赖引起的问题,这点不太容易说清楚,简而言之:那是隔
·
2015-10-31 11:34
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目1
2014-04-23 17:32 题目:请设计一个数据结构来模拟一副牌,你要如何用这副牌玩21点呢? 解法:说实话,扑克牌的花样在于各种花色、顺子、连对、三带一、炸弹等等,如果能设计一个数据结构,让判断这些特征的代码变得很好写,那就能满足题意要求了。我只是勉强实现了几个基本功能,包括抽牌、洗牌、切牌,用的是单向链表。至于要拿这个打斗地主、黑桃五之类的还是算了吧。 代码: 1 // 8
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目6
2014-04-23 22:57 题目:实现一个数据结构来表示拼图游戏中的碎片。 解法:一个拼图块儿有四条边,每边只有凹凸平三种情况,当两块碎片拼接的时候,分为四个方向进行,块儿上的图案肯定也是判断是否能拼接的依据之一。所以就有了以下的表示方法,又一题做得云里雾里。话说这种题目在面试时如果真遇到,得写到什么程度的代码才算及格? 代码: 1 // 8.6 Design data stru
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目4
2014-04-23 18:17 题目:设计一个停车位的类。 解法:停车位,就要有停车、取车的功能了。另外我还加了一个工作线程用于计费,每秒给那些有车的车位加1块钱费用。 代码: 1 // 8.4 Design a class to simulate the parking lot. 2 #include <iostream> 3 #include <stri
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目5
2014-04-23 18:42 题目:设计一个在线阅读系统的数据结构。 解法:这题目太大了,我的个亲娘。显然你不可能一次加载一整本书,做到单页纸加载的粒度是很必要的。为了读书的连贯效果,预取个几页也很必要。 代码: 1 // 8.5 Deign a class for an online book reader system. 2 #include <unordered_m
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目8
2014-03-21 22:23 题目:假设你一开始有一个空数组,你在读入一些整数并将其插入到数组中,保证插入之后数组一直按升序排列。在读入的过程中,你还可以进行一种操作:查询某个值val是否存在于数组中,并给出这个元素在数组中的位置(如果有多个的重复元素话,给出最小的下标)。 解法:书上的原题不是这么描述的,但我觉得用这种插入排序的说法更好理解。虽然说是数组,但实际上既可以用真的数组来模拟这
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目7
2014-03-21 22:05 题目:给你N个盒子堆成一座塔,要求下面盒子的长和宽都要严格大于上面的。问最多能堆多少个盒子? 解法1:O(n^2)的动态规划解决。其实是最长递增子序列问题,所以也可以用O(n * log(n))的优化算法。 代码: // 11.7 n boxes are to stack up to a tower. Every box must be strictly
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目3
2014-04-23 18:10 题目:设计一个点唱机。 解法:英文叫Musical Jukebox。这是点唱机么?卡拉OK么?这种题目实在是云里雾里,又没有交流的余地,我索性用一个vector来表示一首曲子吧。不过有一点是肯定的,点播行为和播放行为应该分不同线程操作,这样就不至于让机器一直卡在那儿等你点歌了。 代码: 1 // 8.3 Design a data structure
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目7
2014-04-23 23:38 题目:你要如何设计一个聊天服务器,有什么技术难点? 解法:这是基于工作经验的面试题吗?否则,一个new grad碰上这种题目能打点草稿也就算不错了。 代码: 1 // 8.7 Tell me what you would do if told to design the backend for a online chatting system. 2
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目8
2014-04-23 23:49 题目:有个棋牌游戏叫Othello,也叫Reversi。请看游戏规则。中文应该叫黑白棋吧,不常玩儿就是了。 解法:既然这题的规则很清楚,也很清楚,我就写了一个命令行的程序来模拟玩游戏的过程。 代码: 1 // 8.8 Othello game, the rule is balabala. Try to design a class to play t
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第8章:面向对象设计——题目2
2014-04-23 17:45 题目:假设有个呼叫中心,有接线员、经理、主管三种角色。如果接线员无法处理呼叫,就上传给经理;如果仍无法处理,则上传给主管。请用代码描述这一过程。 解法:第一眼觉得这题肯定是在考察设计模式,很像exception的throw过程。对于我这种对设计模式一窍不通的人,这题还无法很好解答。待稍后专门学习设计模式之后,再回来好好琢磨一遍。 代码: 1 // 8
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目6
2014-03-21 21:50 题目:给定一个MxN的二位数组,如果每一行每一列都是升序排列(不代表全展开成一个一维数组仍是升序排列的)。请设计一个算法在其中查找元素。 解法:对于这么一个数组,有两点是确定的:1. 左上最小,右下最大;2. 左边不大于右边,上边不大于下边。根据这么个思路,你可以从左下或者右上开始查找,应该向左走向右走,还是向上走向下走,你懂的。用这种方法,可以在线性的时间内
·
2015-10-31 11:33
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目8
2014-03-20 04:04 题目:给你不限量的1分钱、5分钱、10分钱、25分钱硬币,凑成n分钱总共有多少种方法? 解法:理论上来说应该是有排列组合的公式解的,但推导起来太麻烦而且换个数据就又得重推了,所以我还是用动态规划解决。 代码: 1 // 9.8 Given unlimited quarters(25 cents), dimes(10 cents), nickels(5
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目9
2014-03-20 04:08 题目:八皇后问题。 解法:DFS解决。 代码: 1 // 9.9 Eight-Queen Problem, need I say more? 2 #include <cstdio> 3 #include <vector> 4 using namespace std; 5 6 class Solution
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目7
2014-03-20 03:35 题目:实现画图的Flood Fill操作。 解法:DFS和BFS皆可,但BFS使用的队列在时间复杂度上常数项比较大,速度略慢,所以我选了DFS。当然,如果图很大的话DFS是会导致call stack溢出的,那就摊上事儿了。 代码: 1 // 9.7 Implement a flood fill painter that changes a certai
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目5
2014-03-21 21:37 题目:给定一个字符串数组,但是其中夹杂了很多空串“”,不如{“Hello”, “”, “World”, “”, “”, “”, “Zoo”, “”}请设计一个算法在其中查找字符串。 解法:要么一次性将其中夹杂的空串去掉,要么在二分查找的过程中逐个跳过空串。反正整体思路仍是二分。 代码: 1 // 11.5 Given an array of strin
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目4
2014-03-21 21:28 题目:给定一个20GB大小的文本文件,每一行都是一个字符串。请设计方法将这个文件里的字符串排序。 解法:请看下面的注释。 代码: 1 // 11.4 Given a file of 20GB containing strings, one word each line. How would you sort them all? 2 // Answe
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目11
2014-03-21 20:20 题目:给定一个只包含‘0’、‘1’、‘|’、‘&’、‘^’的布尔表达式,和一个期望的结果(0或者1)。如果允许你用自由地给这个表达式加括号来控制运算的顺序,问问有多少种加括号的方法来达到期望的结果值。 解法:DFS暴力解决,至于优化方法,应该是可以进行一部分剪枝的,但我没想出能明显降低复杂度的方法。 代码: 1 // 9.11 For a bo
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目6
2014-03-20 03:27 题目:输出所有由N对括号组成的合法的括号序列。比如n=2,“()()”、“(())”等等。 解法:动态规划配合DFS,应该也叫记忆化搜索吧。一个整数N总可以拆成若干个正整数的和,执行搜索的时候也是按照这个规则,将N序列拆成多个子序列进行搜索,同时将中间的搜索结果记录下来,以便下次再搜到的时候直接调用,省掉重复计算的开销。 代码: 1 // 9.6 Pr
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目10
2014-03-20 04:15 题目:你有n个盒子,用这n个盒子堆成一个塔,要求下面的盒子必须在长宽高上都严格大于上面的。如果你不能旋转盒子变换长宽高,这座塔最高能堆多高? 解法:首先将n个盒子按照长宽高顺序排好序,然后动态规划,我写了个O(n^2)时间复杂度的代码。 代码: 1 // 9.10 A stack of n boxes is form a tower. where ev
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目1
2014-03-21 20:35 题目:给定已升序排列的数组A和数组B,如果A有足够的额外空间容纳A和B,请讲B数组合入到A中。 解法:由后往前进行归并。 代码: 1 // 11.1 Given two sorted array A and B, suppose A is large enough to hold them both. Merge B into A. 2 #incl
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目2
2014-03-21 20:49 题目:设计一种排序算法,使得anagram排在一起。 解法:自定义一个comparator,使用额外的空间来统计字母个数,然后比较字母个数。 代码: 1 // 11.2 Sort an array of strings such that anagrams stay next to each other. 2 #include <algori
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第11章:排序和搜索——题目3
2014-03-21 20:55 题目:给定一个旋转过的升序排序好的数组,不知道旋转了几位。找出其中是否存在某一个值。 解法1:如果数组的元素都不重复,那么我的解法是先找出旋转的偏移量,然后进行带偏移量的二分搜索。两个过程都是对数级的。 代码: 1 // 11.3 Given a sorted array rotated by a few positions, find out if
·
2015-10-31 11:32
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目4
2014-03-20 03:08 题目:给定一个集合,返回其幂集。 解法:DFS。 代码: 1 // 9.4 Return all subsets of a set 2 #include <cstdio> 3 #include <vector> 4 using namespace std; 5 6 void getSubsets(const
·
2015-10-31 11:31
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目5
2014-03-18 01:40 题目:对字符串进行类似游程编码的压缩,如果压缩完了长度更长,则返回不压缩的结果。比如:aabcccccaaa->a2b1c5a3,abc->abc。 解法:Count and say. 代码: 1 // 1.5 Implement a method to perform basic string compression using the
·
2015-10-31 11:31
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目1
2014-03-18 01:25 题目:给定一个字符串,判断其中是否有重复字母。 解法:对于可能有n种字符的字符集,用一个长度为n的数组统计每个字符的出现次数,大于1则表示有重复。 代码: 1 // 1.1 Implement an algorithm to determine if a string has all unique characters. What if you can
·
2015-10-31 11:31
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目2
2014-03-18 01:30 题目:反转一个char *型的C/C++字符串。 解法:一头一尾俩iterator,向中间靠拢并且交换字符。 代码: 1 // 1.2 Implement a function void reverse(char *str) in C or C++ which reverses a null-terminated string. 2 #includ
·
2015-10-31 11:31
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目4
2014-03-18 01:36 题目:给定一个字符串,将其中的空格‘ ’替换为‘%20’,你可以认为字符串尾部有足够空间来容纳新增字符。请不要额外开辟数组完成。 解法:先从前往后统计空格个数,然后从后往前填充字符,以免其他无关字符被‘%20’覆盖掉。 代码: 1 // 1.4 Write a method to replace all spaces in a string with
·
2015-10-31 11:31
interview
《
Cracking
the Coding Interview》——第1章:数组和字符串——题目3
2014-03-18 01:32 题目:对于两个字符串,判断它们是否是Anagrams。 解法:统计俩单词字母构成是否相同即可。 代码: 1 // 1.3 Given two strings, write a method to decide if one is a permutation of the other. 2 // count them. 3 #include &l
·
2015-10-31 11:31
interview
《
Cracking
the Coding Interview》——第9章:递归和动态规划——题目5
2014-03-20 03:23 题目:给定一个字符串,输出其全排列。 解法:可以调用STL提供的next_permutation(),也可以自己写一个。对于这种看起来简单的题目,应该在能优化的地方,尽量想办法优化。在面试里如果大家都会做的题,你就得做的很好才能拉开差距,否则就等着thank you了。 代码: 1 // 9.5 Print all permutations of a
·
2015-10-31 11:31
interview
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他