Chả là em đang làm thử thách tại trang codelearn.io, đề bài này cho 10 case có 5 case cho biết đầu vào, 5 case thì ẩn đầu vào đi. Em làm mãi mà chỉ đạt 9/10 do 1 case vượt quá thời gian chạy. Mọi người xem đề bài và code của em, rồi giúp em tối ưu code với ạ em nghĩ mãi mà ko ra. Em cảm ơn ạ.
Đề bài:
Cho vào hai mảng
a,b
. Bạn hãy viết chương trình trả về mảngc
gồm các phần tử đôi một khác nhau đều xuất hiện ở hai mảnga,b
. Mảng c được trả về theo thứ tự từ bé đến lớn.Ví dụ
Với
a = [1, 2, 3, 1, 3]
vàb = [3, 2, 2, 3, 5, 6, 7, 4]
thìaddArray(arr) = [2, 3].
Đầu vào/Đầu ra:
- [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào] Array.Integer a,b
0 <= a.length, b.length <= 10^5; 0 <= a[i], b[i] <= 10^5
``- [Đầu ra ]Array.Integer
Code của em:
Set<Integer> mySet = new TreeSet<>();
for(int i : a){
for (int j : b) {
if(i==j){
mySet.add(i);
}
}
}
return mySet;
}
Cảm ơn mn rất nhiều ạ.