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ảngcgồ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 ạ.



).
. C gồm các phần tử đôi 1 khác nhau -> tất cả các phần tử của c khác nhau. Và các phần tử của c đều thuộc a và b -> giao của 2 set.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?