newcoder
文章平均质量分 51
ningwuwu
这个作者很懒,什么都没留下…
展开
-
剑指offer真题1--5
第一题:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析:因为这是一个有序的二维数组,且从左至右递增,从上至下递增,经过画图就会发现,再这个二维数组中有两个特殊的位置,左下角和右上角,这两个位置和其他地方不同,只有两条路径,分析起来更为简单,且两条...原创 2018-12-13 19:37:56 · 217 阅读 · 0 评论 -
剑指offer真题6--10
第六题:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 分析:这个题看似简单,但是会出现数组元素重复的情况,用二分查找比较便捷; class Solution { ...原创 2018-12-13 19:58:46 · 188 阅读 · 0 评论 -
剑指offer真题11-15
11题:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 //法一 //让n减去1,我们发现,在让他和原来的n按位与之后,n中的1会减少一个,依次循环下去,就可以累计出1的个数,且这个方式不用担心负数的问题 class Solution { public: int NumberOf1(int n) { int count = 0; ...原创 2018-12-17 21:20:10 · 165 阅读 · 0 评论 -
剑指offer16-20
第16题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 //递归 class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1 == nullptr) return pHead...原创 2018-12-17 21:26:51 · 203 阅读 · 0 评论 -
剑指offer21-25
第21题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。 思路:先将压栈序列压入辅助栈s中,当辅助栈顶元素和出栈序列有相同时,出栈,然后继续检测,直到辅助栈没有元素为止。无元素为true,有元素为false class Solution { public: bool IsPopOrder(vector<in...原创 2018-12-18 20:34:38 · 208 阅读 · 0 评论