题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:从最左下角的数开始遍历,若目标数比其小,就往上面走,否则就往右边走。
java代码:
public class Solution {
public boolean Find(int target, int [][] array) {
int row = array.length;
int col = array[0].length;
int j=row-1,i=0;
while(j>=0 && i<col){
if(target==array[j][i]){
return true;
}
else if(target>array[j][i]){
i++;
}
else{
j--;
}
}
return false;
}
}
python代码:
# -*- coding:utf-
8
-*-
class
Solution:
# array 二维列表
def Find(self, target, array):
# write code here
# -*- coding:utf-
8
-*-
n=len(array)
flag=
'false'
for
i in range(n):
if
target in array[i]:
flag=
'true'
break
return
flag
while
True:
try
:
S=Solution()
L = eval(raw_input())
target= L[
0
]
array=L[
1
]
print (S.Find(target,array))
except:
break
|
思路:在java中用字符串构建器,每次原字符串中遇到空格,就在字符串构建器中添加20%。
python中直接使用replace就行
java代码:
public class Solution {
public String replaceSpace(StringBuffer str) {
StringBuilder builder = new StringBuilder();
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' '){
builder.append('%');
builder.append('2');
builder.append('0');
}
else{
builder.append(str.charAt(i));
}
}
return builder.toString();
}
}
python代码:
2
3
4
5
|
# -*- coding:utf-
8
-*-
class
Solution:
# s 源字符串
def replaceSpace(self, s):
return
s.replace(
' '
,
'%20'
)
|