我是靠谱客的博主 大气嚓茶,这篇文章主要介绍数组方面的知识以及算法题,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
数组常用的几个方法 1. 声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 2. 输出一个数组 Java代码 int[] intArray = { 1, 2, 3, 4, 5 }; String intArrayString = Arrays.toString(intArray); // print directly will print reference value System.out.println(intArray); // [I@7150bd4d System.out.println(intArrayString); // [1, 2, 3, 4, 5] 3. 从一个数组创建数组列表 Java代码 String[] stringArray = { "a", "b", "c", "d", "e" }; ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); System.out.println(arrayList); // [a, b, c, d, e] 4. 检查一个数组是否包含某个值 Java代码 String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray).contains("a"); System.out.println(b); // true 5. 连接两个数组 Java代码 int[] intArray = { 1, 2, 3, 4, 5 }; int[] intArray2 = { 6, 7, 8, 9, 10 }; // Apache Commons Lang library int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2); 9. 将一个数组转换为集合(set) Java代码 Set<String> set = new HashSet<String>(Arrays.asList(stringArray)); System.out.println(set); //[d, e, b, c, a] 11. 移除数组中的元素 Java代码 int[] intArray = { 1, 2, 3, 4, 5 }; int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array System.out.println(Arrays.toString(removed)); 12.数组方面的算法题 给定一个int数组,写一个函数判断该数组中的所有数字是否能组成连续数字。如[1,3,4,6,2,5]能组成连续数字, 【1,2,5,4,7】不能。数组中的数也可能重复 代码: public boolean isContinousArray(int[] intArr) { if(intArr==null) return false; if(intArr.length<2) return true; int maxInt=intArr[0],minInt=intArr[0]; for(int i:intArr) { System.out.println(i); if(i>maxInt) maxInt=i; if(i<minInt) minInt=i; } for(int value=minInt;value<=maxInt;value++) { boolean found=false; for(int j:intArr) { if(j==value) { found=true; break; } } if(!found) return false; } return true/found; } 还有一种算法 创建一个数组String str = new String("0123456789"); 将数字转换为字符串型,判断该字符串是否是str的子串,是则是连续数字,否则不是。 13.求数组的交集 有两个长度分别为m,n的非降序整型数组,其中n>m*m,求这两个数组的交集,要求复杂度尽可能低。 如数组a:-1,4,5 数组b:-15,1,3,4,5,7,8,9,10,15 结果应该是:4,5 代码 public void m1() { Set aSet=new HashSet() ; Set bSet=new HashSet() ; for(int i=0 ;i<n;i++) { aSet.add(A[i]) ; } for(int i=0 ;i<m;i++) { bSet.add(B[i]) ; } aSet.retainAll(bSet) ; for(Integer i:aSet) { System.out.println(i) ; } }

最后

以上就是大气嚓茶最近收集整理的关于数组方面的知识以及算法题的全部内容,更多相关数组方面内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部