剑指offer
摩天轮的思念
这个作者很懒,什么都没留下…
展开
-
剑指offer——二维数组中的查找
在一个二维数组中,每一行都按照从左到右的顺序递增排序,每一列都按照从上到下的顺序递增排序,在这个数组中查找一个数字,如果找到了,返回true,如果未找到,返回false。 例如: 数组如下: 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15在解决这个问题时,首先想到最简单,最直接的方法,就是从上到下依次搜索,直到找到要查找的数字,或者查找完所有原创 2017-03-19 11:10:06 · 857 阅读 · 0 评论 -
剑指offer——字符串替换空格
(1)先遍历一次字符串,统计出字符串中空格的总数,并可以由此计算出替换之后字符串总长度。每替换一个空格,长度增加2,因此替换以后字符串的长度等于原来的长度加上2乘以空格数目。(2)然后从后往前开始复制替换。首先准备两个指针,p1和p2,p1指向原始字符串的末尾,p2指向那个替换后字符串的末尾,接下来向前移动指针p1,逐个复制它指向的字符到p2所指的位置,遇到空格的话,p1向前移动一个,p2插入“%20”,p2向前移动原创 2017-03-29 22:31:12 · 323 阅读 · 0 评论 -
复杂链表的复制
(1)根据原始链表的每个结点N创建对应的N,并且把N链接在N的后面。 (2)设置复制出来的节点的m_pSibling (3)把长链表拆分成两个链表#include <iostream>原创 2017-05-27 17:26:03 · 199 阅读 · 0 评论 -
最大连续子数组和
题目描述:给定一个数组,数组里可能有正数,负数,0,数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个一个和。求所有子数组和的最大值。例如,如果输入数组为,和的最大子数组为{1,-2,3,10,-4,7,2,-5},那么输出为该子数组的和18解法一:蛮力枚举法(时间复杂度:O(N*N*N))用三个for循环三层遍历,求出数组中每一个子数组的和,最终求出这些子数组和中最大的一个值。原创 2017-05-18 19:57:27 · 465 阅读 · 0 评论