摘要: 这道题是21题合并2个有序链表的升级版本,看了许多解题思路: A:直接暴力解锁,全部放进一个堆,然后依次吐出来; B:利用21题的算法,循环一次做两两合并,这样就得到结果;但是时间复杂度有点差; C:利用归并排序思想,进行分治;其实就是利用递归,牺牲空间,提升时间效率; 存在的问题是:看过了许多解答 阅读全文
posted @ 2016-04-11 23:20 ProWhalen 阅读(233) 评论(0) 推荐(1)
摘要: 题目描述已经给的十分清晰了,不再重复; 思路:(1)创建表头,用于返回合并后的新链表的用途; (2)创建跟踪指针:index; (3)然后层次分为两部分 A:管理两个已排序链表都有值的情况; B:管理当一方链表没有值的情况; A当中:利用循环不断比较每次l1和l2前面的两个元素,选择较小的加入ind 阅读全文
posted @ 2016-04-11 20:42 ProWhalen 阅读(501) 评论(0) 推荐(1)
摘要: 这是一道很常见的链表算法题,题意一般是实现某个单向链表的反向重置。我在百度面试过程中被问到。我在阅读材料时,这个道题曾是微软面试题。 需要一个标记指针,和两个辅助指针。每次前进标记指针,把其他两个指针位点进行调整。 阅读全文
posted @ 2016-04-10 22:54 ProWhalen 阅读(135) 评论(0) 推荐(1)
摘要: 这是一道程序员面试金典上面的练习题;读完题其实结题思路很明显了; 输入矩阵—>搜索出为零的部位—>利用为零的部位信息重新遍历矩阵给该赋值0的位点给0—>结束 可以看到,常规解法时间复杂度还是蛮大的需要两次O(N*M)的统计过程; 回想到Leetcode 有相同的题目:73. Set Matrix Z 阅读全文
posted @ 2016-04-07 10:10 ProWhalen 阅读(339) 评论(1) 推荐(2)
摘要: 题目描述:如何给一个N*M的矩阵输出一个逆时针螺旋读取的元素; 在题目看完时;就想起的程序员面试金典这本书里面一道类似的题目;原题要求是实现N*N矩阵元素的旋转换位;相比这道题不同之处在于,(1)矩阵的形状变的更随意了;(2)矩阵层次感还是一样的;(3)原来的元素值交换成了赋值; 其中可借鉴的思想: 阅读全文
posted @ 2016-04-06 23:19 ProWhalen 阅读(1541) 评论(3) 推荐(3)
摘要: 题目描述:N个段落 P个页面 W的段长 H的页长 一个数组给出每个段落的字数 目标找到符合要求的最大字符大小。 难点:(1)必须根据题目的描述,给出符合条件的字符输入方案; (2)使用二分法不断逼近可选择的最大字符大小; (3)如何利用判断表达式实现取整,和选择; 重要思想:最令人迷茫的地方在于,字 阅读全文
posted @ 2016-04-06 23:09 ProWhalen 阅读(493) 评论(1) 推荐(2)
摘要: 在过去的岁月里,我一直想将自己变成一位软件工程师。我选择电子信息工程专业作为的本科专业,选择了通信与信息系统专业作为我的研究生专业。然而在经历了一次又一次的抉择和调整之后我还是想做一名软件工程师,更希望是一名大数据软件工程师。在离开了贝尔实验室,思科系统的实习之后,我决定系统梳理写过的所有代码(算法 阅读全文
posted @ 2016-04-06 22:54 ProWhalen 阅读(168) 评论(0) 推荐(0)