|
4 | 4 | import java.util.List;
|
5 | 5 |
|
6 | 6 | public class Lesson11 {
|
| 7 | + |
7 | 8 | public int[] getConcatenation(int[] nums) {
|
8 |
| - if (nums.length == 0) { |
9 |
| - return new int[] {}; |
10 |
| - } |
11 | 9 | int lenOriginalArray = nums.length;
|
12 | 10 | int[] concatenatedArrays = new int[lenOriginalArray * 2];
|
| 11 | + int pos = 0; |
13 | 12 |
|
14 |
| - for (int i = 0; i < lenOriginalArray; i++) { |
15 |
| - concatenatedArrays[i] = nums[i]; |
16 |
| - } |
17 |
| - int nextIndex = lenOriginalArray; |
18 |
| - for (int i = 0; i < lenOriginalArray; i++) { |
19 |
| - concatenatedArrays[nextIndex + i] = nums[i]; |
20 |
| - } |
| 13 | + System.arraycopy(nums, pos, concatenatedArrays, pos, lenOriginalArray); |
| 14 | + System.arraycopy(nums, pos, concatenatedArrays, lenOriginalArray, lenOriginalArray); |
21 | 15 | return concatenatedArrays;
|
22 | 16 | }
|
23 | 17 |
|
24 | 18 | public List<Integer> findWordsContaining(String[] words, char x) {
|
25 |
| - var indexList = new ArrayList<Integer>(); |
26 |
| - if (words.length == 0) { |
27 |
| - return indexList; |
28 |
| - } |
29 |
| - |
30 |
| - int index = -1; |
| 19 | + var indexList = new ArrayList<Integer>(0); |
| 20 | + int index = 0; |
31 | 21 | for (String word : words) {
|
32 |
| - index = index + 1; |
33 |
| - var charactersOfWord = new ArrayList<Character>(); |
34 |
| - char charactersOfCurrentWord[] = word.toCharArray(); |
35 |
| - for (Character xter : charactersOfCurrentWord) { |
36 |
| - charactersOfWord.add(xter); |
37 |
| - } |
38 |
| - if (charactersOfWord.contains(x)) { |
| 22 | + if (word.indexOf(x) != -1) { |
39 | 23 | indexList.add(index);
|
40 | 24 | }
|
| 25 | + index = index + 1; |
41 | 26 | }
|
42 | 27 | return indexList;
|
43 | 28 | }
|
|
0 commit comments