Arkadaşlar merhaba.
LeetCode'de bir problem çözdüm bugün. 6 ms içinde çözüyor.
Kod bu;
Dedim o kadar koleksiyon sınıfı çağırdım, polimorfizim falan yaptım, ilk türler ile yapsam herhalde 1 ms falan alırım.
2. Denediğim kod da bu;
Arkadaşlar çok bildiğimden değil de ilkel veri tipleriyle çalışmak daha hızlı olur diye düşündüm ama 35 MS. Çözüyor böyle.
Niye böyle? Şimdi ikinci çözümde for içinde for ama birinci kodda da hazır metot kullandım yani. Hem Heap'e veri kaydediyor hem de sıralama yapıyor. Muhakkak for döngüsü vardır yani.
LeetCode'de bir problem çözdüm bugün. 6 ms içinde çözüyor.
Kod bu;
Java:
List<Integer> list = new ArrayList<Integer>();
for(int i: nums1) {
list.add(i); }
for(int i: nums2) { list.add(i); }
Collections.sort(list);
median = (double)
(list.get(list.size()/2 -1) + list.get(list.size()/2));
System.out.println(" ");
if(list.size() % 2 == 0) {
median = (double) (list.get(list.size()/2 -1)) + (double)
(list.get(list.size()/2)); median = median / 2;
}else {
median = (double) (list.get((int) (list.size()-1)/2)); }
return median;
Dedim o kadar koleksiyon sınıfı çağırdım, polimorfizim falan yaptım, ilk türler ile yapsam herhalde 1 ms falan alırım.
2. Denediğim kod da bu;
Java:
double median = 0.0;
int[] list = new int[nums1.length + nums2.length];
int a = 0;
for (int i : nums1) {
list[a] = i;
a++;
}
for (int i : nums2) {
list[a] = i;
a++;
}
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < list.length - 1; j++) {
if (list[i] < list[j]) {
a = list[i];
list[i] = list[j];
list[j] = a;
}
}
}
if (list.length % 2 == 0) {
median = (double) (list[list.length / 2 - 1]) + (double) (list[list.length / 2]);
median = median / 2;
} else {
median = (double) (list[(int) (list.length - 1) / 2]);
}
return median;
Arkadaşlar çok bildiğimden değil de ilkel veri tipleriyle çalışmak daha hızlı olur diye düşündüm ama 35 MS. Çözüyor böyle.
Niye böyle? Şimdi ikinci çözümde for içinde for ama birinci kodda da hazır metot kullandım yani. Hem Heap'e veri kaydediyor hem de sıralama yapıyor. Muhakkak for döngüsü vardır yani.
Son düzenleme: