题目描述1
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解答:
public class Solution {
public boolean Find(int target, int [][] array) {
for(int x=0; x<array.length; x++) {
for(int y=0; y<array[x].length; y++) {
if(target==array[x][y]){
System.out.print(array[x][y]+" ");
return true;
}
}
}
return false;
}
}
题目描述2
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。时间限制:1秒 空间限制:32768K
public class Solution {
public String replaceSpace(StringBuffer str) {
String newStr = str.toString().replace(" ","%20");
return newStr;
}
}
题目描述3
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。时间限制:1秒 空间限制:32768K
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
public class Solution {
ArrayList<Integer> list = new ArrayList<Integer>();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if (listNode == null) {
return list;
}
if(listNode.next!=null){
printListFromTailToHead(listNode.next);
list.add(listNode.val);
}else{
list.add(listNode.val);
}
return list;
}
}
题目描述4
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。时间限制:3秒 空间限制:32768K
public
int
minNumberInRotateArray(
int
[] array)
if
(array.length==
0
){
return
0;
}
if
(array.length==
1
){
return
array[
0
];
}
for
(
int
i=
0
;i<array.length-
1
;i++){
if
(array[i]>array[i+
1
]){
return
array[i+
1
];
}
else
{
if
(i==array.length-
2
){
return
array[
0
];
}
}
}
return
0
;
}