使用 Java 中的拆分函数在矩阵中搜索字符串
要使用拆分函数在矩阵中搜索字符串,代码如下 −
示例
import java.util.*; public class Demo { public static int search_string(String[] my_matrix, String search_string){ for (String input : my_matrix){ String[] my_value = input.split(search_string); if (my_value.length >= 2 || my_value.length == 0){ return 1; } else if (my_value.length == 1 && input.length() != my_value[0].length()){ return 1; } } return 0; } public static String[] vertical_search(String[] my_matrix){ String[] vertical_search_value = new String[my_matrix[0].length()]; for (int i = 0; i < my_matrix[0].length(); i++){ String temp = ""; for (int j = 0; j < my_matrix.length; j++) temp += my_matrix[j].charAt(i); vertical_search_value[i] = temp; } return vertical_search_value; } public static void main(String[] args){ String[] my_matrix = { "This", "Sample", "This" }; String search_string = "This"; String[] vertical_matrix = vertical_search(my_matrix); int horizontal_search_result = search_string(my_matrix, search_string); int vertical_search_result = search_string(vertical_matrix, search_string); if (horizontal_search_result == 1 || vertical_search_result == 1) System.out.println("The string has been found in the matrix"); else System.out.println("The string couldn't be found in the matrix"); } }
输出
The string has been found in the matrix
一个名为 Demo 的类定义了一个名为“search_String”的函数,该函数将字符串拆分并检查字符串的长度。如果整个行都被字符串占用,函数返回长度为 0 的数组。
如果我们要查找的字符串位于字符串的字符之间,数组的长度将大于 1。如果满足以下条件,数组的长度可能为 1:
- 搜索字符串出现在数组的前半部分。
- 搜索字符串出现在数组的后半部分。
- 搜索字符串不在数组中。
另一个名为“vertical_search”的函数垂直检查矩阵中的搜索字符串。要搜索矩阵列中的字符串,矩阵会进行转置并再次进行搜索。
广告