0
点赞
收藏
分享

微信扫一扫

Leetcode面T10(1-9)数组,2021年是意义非凡的一年

Ad大成 2022-02-03 阅读 48

}

}

Q10.2 合并排序的数组

public class Solution {

public List<List> groupAnagrams(String[] strs) {

if(strsnull||strs.length0) return null;

HashMap<String,List> map = new HashMap<>();

//遍历所有字符串

for (String str : strs) {

char[] chars = str.toCharArray();

//对每一个字符串进行排序,乱序后再排序后的字符串肯定都是一样的,直接用这个作为Key存入map中

Arrays.sort(chars);

String key = new String(chars);

List list = null;

//取key对应的value

if(!map.containsKey(key)) {

list = new ArrayList<>();

}else {

list = map.get(key);

}

list.add(str);

map.put(key,list);

}

return new ArrayList<>(map.values());

}

}

Q10.3 搜索旋转数组

class Solution {

public int search(int[] arr, int target) {

for (int i = 0; i < arr.length; i++) {

if (arr[i]==target){

return i;

}

}

return -1;

}

}

Q10.5 稀疏数组搜索

在Java中判断字符串值是否相等用s1,equals(s1)。不要直接用==,被耗了好长时间mmp.

class Solution {

//直接法

// public int findString(String[] words, String s) {

// for(int i =0;i <words.length;i++){

// if(words[i].equals(s)){

// return i;

// }

// }

// return -1;

// }

//二分搜索法

public int findString(String[] words, String s) {

//直接二分搜索

int left = 0;

int right = words.length - 1;

//[left.right)

while(left <= right){

while(left < words.length && words[left].equals("")){

left++;

}

while(right >= 0 && words[right].equals("")){

right–;

}

int mid = left + (right - left) / 2;

while(mid < words.length && words[mid].equals("")){

mid++;

}

if(words[mid].equals(s)){

return mid;

}else if(words[mid].compareTo(s) > 0){

//收缩右边界,锁定左边界

right = mid - 1;

}else if(words[mid].compareTo(s) < 0){

//收缩左边界,锁定右边界

left = mid + 1;

}

}

return -1;

}

}

Q10.9 排序矩阵查找

class Solution {

public boolean searchMatrix(int[][] matrix, int target) {

if (matrix == null || matrix.length == 0) {

return false;

}

int m = matrix.length, n = matrix[0].length, row = 0, col = n - 1;

while (row < m && col >= 0) {

if (matrix[row][col] < target) {

row++;

} else if(matrix[row][col] > target) {

col–;

} else {

return true;

}

}

return false;

}

}

Q10.10 数字流的秩

举报

相关推荐

0 条评论