(剑指offer) 二维数组的查找 替换空格

标签: 剑指offer
8人阅读 评论(0) 收藏 举报
分类:

二维数组的查找

        二维数组的每一行和每一列都是有序的,对于给定数字,确定二维数组里是否存在此数字。通过与数组右上角的数字比较(或者左下角,每一行或每一列的最大值),减小矩阵范围。

class Solution {
public:
	bool Find(int target, vector<vector<int> > array) {
		if (array.empty())
			return false;
		int rows = array.size(), cols = array[0].size();
		//if (target<array[0][0] || target>array[rows - 1][cols - 1])
		//	return false;
		int currR = 0, currC = cols - 1;
		while (currR<rows&&currC >= 0) {
			if (target<array[currR][currC])
				--currC;
			else if (target == array[currR][currC])
				return true;
			else
				++currR;
		}
		return false;
	}
};

替换空格

        顺序容器的插入。待插入位置往后移动所需要的空间,第一遍扫描整个字符串,求出需要空出多少字节。记两个指针,第一个指针指向插入后的尾部,第二个指针指向当前字符串尾部。倒序扫描字符串,插入字符。

class Solution {
public:
	void replaceSpace(char *str, int length) {
		if (length <= 0)
			return;
		int countSpace = 0;
		for (int i = 0; i < length; ++i)
			if (str[i] == ' ')
				++countSpace;
		if (countSpace == 0)
			return;
		int newLength = length + 2 * countSpace;
		char *p1 = str + length, *p2 = str + newLength;
		while (p1 >= str) {
			if (*p1 == ' ') {
				*p2-- = '0';
				*p2-- = '2';
				*p2 = '%';
			}
			else
				*p2 = *p1;
			--p1;
			--p2;
		}
	}
};

查看评论

牛客网在线编程(剑指offer)---字符串替换

题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路分析: 之前在书上看到这个题...
  • a1103000308
  • a1103000308
  • 2016-08-26 16:31:12
  • 1108

牛客网刷题--剑指offer(替换空格)

题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 做法是先做统计,看有多少个空...
  • liu_sheng_1991
  • liu_sheng_1991
  • 2016-08-23 16:01:27
  • 585

JAVA实现二维数组中的查找(《剑指offer》)

最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网...
  • qq_15062527
  • qq_15062527
  • 2015-10-01 14:24:34
  • 1431

【剑指offer】-替换空格

题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解析:如果从前往后替换字符串中的空格,...
  • Kevin_zhai
  • Kevin_zhai
  • 2015-11-02 15:04:09
  • 1225

【剑指Offer】替换空格

题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路遍历字符串,遇到空格,就把空格...
  • zgljl2012
  • zgljl2012
  • 2015-09-16 19:49:41
  • 1693

剑指Offer之二维数组中的查找

这题是剑指Offer一书中得题,但是实在感觉这题不用suan'fa
  • yangchangshu
  • yangchangshu
  • 2014-09-02 22:48:07
  • 347

剑指offer算法 java实现 二维数组中的查找

题目: 在一个二维数组中,每一行都按照从左到右
  • believejava
  • believejava
  • 2014-08-16 14:33:31
  • 5654

剑指Offer面试题4(Java版),替换空格

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy",则输出”We%20are%20happy". 原因:在网络编程中,如果URL参数中含有特殊字符,如:空...
  • jsqfengbao
  • jsqfengbao
  • 2015-07-24 17:58:17
  • 2260

剑指offer 面试题(二维数组中的查找) (2)

面试题: 二维数组中的查找    /* 题目:   在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成 一个函数,输入这样的一个二维数组和一个整数...
  • bitboss
  • bitboss
  • 2016-05-08 15:41:29
  • 702

牛客网刷题---二维数组中的查找(剑指offer)

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。  输入描述...
  • liu_sheng_1991
  • liu_sheng_1991
  • 2016-06-20 17:56:49
  • 1104
    个人资料
    持之以恒
    等级:
    访问量: 277
    积分: 252
    排名: 31万+
    文章存档
    最新评论