摘要:
题目给你一个排好序的并且穿插有空字符串的字符串数组,写一个函数找到给定字符串的位置。例子:在字符串数组 [“at”, “”, “”, “”, “ball”, “”, “”, “car”, “”,“”, “dad”, “”, “”] 中找到”ball”,返回下标4.例子:在字符串数组 [“at”, “... 阅读全文
摘要:
题目写一个函数对字符串数组排序,使得所有的变位词都相邻。解答首先,要弄清楚什么是变位词。变位词就是组成的字母相同,但顺序不一样的单词。 比如说:live和evil就是一对变位词。OK,那么这道题目的意思就很清楚了, 它并不要求我们将字符串数组中的字符串按字典序排序,否则我们直接调用STL中的sort... 阅读全文
摘要:
题目原文:写程序交换一个整数二进制表示中的奇数位和偶数位,用尽可能少的代码实现。 (比如,第0位和第1位交换,第2位和第3位交换…)解答这道题目比较简单。分别将这个整数的奇数位和偶数位提取出来,然后移位取或即可。代码如下:int swap_bits(int x){ return ((x & 0... 阅读全文
摘要:
题目给定一个字符串类型(string)表示的小数,打印出它的二进制表示。 如果这个数无法精确地表示为二进制形式,输出”ERROR”。解答整数部分通过不断地对2取余然后除以2来得到其二进制表示, 或是不断地和1按位与然后除以2得到其二进制表示。 小数部分则通过不断地乘以2然后与1比较来得到其二进制表示... 阅读全文
摘要:
题目设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意: 可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。进一步地,为你的程序写测试用例。解答这道题目其实是要你就地(in place)将字符串中重复字符移除。你可以向面试官问清楚, 不能使用额外的一份数组拷贝是指根本就... 阅读全文