上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 98 下一页
摘要: 11.6 给定M*N矩阵,每一行、每一列都按升序排序,请编写代码找出某元素。类似leetcode:Search a 2D Matrix但是与leetcode中这题不同的是下一行的第一个元素不一定大于上一行的最后一个元素。所以使用二分查找有点麻烦。解法一:通过观察我们可知:若列的开头大于x,那么x位于... 阅读全文
posted @ 2014-12-09 17:17 Jessica程序猿 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 11.5 有个排序后的字符串数组,其中散布着一些空字符串,编写一个方法,找出给定字符串的位置。解法:如果没有那些空字符串,就可以直接使用二分查找法。比较待查找字符串str和数组的中间元素,然后继续搜索下去。针对数组中散布一些空字符串的情形,我们可以对二分查找法稍作修改,所需的修改就是mid进行比较的... 阅读全文
posted @ 2014-12-09 16:17 Jessica程序猿 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 11.4 设想你有一个20GB的文件,每一行一个字符串。请说明将如何对这个文件进行排序。解法:当面试官给出20GB大小的限制时,实际上在暗示些什么。就此题而言,这表明他们不希望你将数据全部载入内存。该怎么办呢?做法是只将部分数据载入内存。我们将整个文件划分为许多块,每个块xMB,其中x是可用的内存大... 阅读全文
posted @ 2014-12-09 15:51 Jessica程序猿 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 11.3 给定一个排序后的数组,包含n个整数,但这个数组已被旋转很多次,次数不详。请编写代码找出数组中的某个元素。可以假定数组元素原先是按从小到大的顺序排序的。解法:可以直接从开始一个一个比较,也可以采用二分查找的方法。在经典二分查找中,我们会将x与中间元素进行比较,以确定x属于左半部分还是右半部分... 阅读全文
posted @ 2014-12-09 15:46 Jessica程序猿 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 11.2 编写一个方法,对字符串数组进行排序,将所有变位词1排在相邻的位置。类似leetcode:Anagrams解法:变位词:由变换某个词或短语的字母顺序构成的新的词或短语。例如,“triangle”是“integral”的变位词。此题有个要求,对数组中的字符串进行分组,将变位词排在一起。注意,除... 阅读全文
posted @ 2014-12-09 13:49 Jessica程序猿 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 11.1 给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。编写一个方法,将B合并入A并排序。解法:已知数组A末端有足够的缓冲,不需要再分配额外空间。程序的处理逻辑很简单,就是逐一比较A和B中的元素,并顺序插入数组,直至耗尽A和B中的所有元素。这么做的唯一问题是,如果将元素插入数组A的... 阅读全文
posted @ 2014-12-09 13:04 Jessica程序猿 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 9.11 给定一个布尔表达式,由0、1、&、|和^等符号组成,以及一个想要的布尔结果result,实现一个函数,算出有几种括号的放法可使该表达式得出result值。解法:跟其他递归问题一样,此题的关键在于找出问题与子问题之间的关系。假设函数int f(expression,result)会返回所有值... 阅读全文
posted @ 2014-12-09 11:06 Jessica程序猿 阅读(301) 评论(0) 推荐(0) 编辑
摘要: A peak element is an element that is greater than its neighbors.Given an input array wherenum[i] ≠ num[i+1], find a peak element and return its index.... 阅读全文
posted @ 2014-12-08 17:25 Jessica程序猿 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 9.10 给你一堆n个箱子,箱子宽w,高h,深d。箱子不能翻转,将箱子堆起来时,下面箱子的宽度、高度和深度必须大于上面的箱子。实现一个方法,搭出最高的一堆箱子,箱堆的高度为每个箱子高度的总和。解法:要解决此题,我们需要找到不同子问题之间的关系。假设我们又以下这些箱子:b1、b2,...,bn。能够堆... 阅读全文
posted @ 2014-12-08 16:16 Jessica程序猿 阅读(758) 评论(7) 推荐(0) 编辑
摘要: 9.9 设计一种算法,打印八皇后在8*8棋盘上的各种摆法,其中每个皇后都不同行、不同列,也不在对角线上。这里的“对角线”指的是所有的对角线,不只是平分整个棋盘的那两条对角线。类似leetcode:N-Queens回溯法的实现代码:#include#include#includeusing names... 阅读全文
posted @ 2014-12-08 13:24 Jessica程序猿 阅读(259) 评论(0) 推荐(0) 编辑
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 98 下一页