Tantangan
Diberikan array bilangan bulat, diterima dari stdin, argumen fungsi, argumen program, atau metode lain:
Keluarkan hanya angka minimum dan maksimum dalam array, melalui nilai balik, stdout, atau metode pemasangan lainnya.
Sesi contoh
> minmax( {0, 15, 2, 3, 7, 18, -2, 9, 6, -5, 3, 8, 9, -14} )
-14 18
Implementasi referensi
// C++14
void minmax(std::vector<int> v) {
int min = v[0]; int max = v[0];
for(auto it : v) {
if (*it < min)
min = *it;
if (*it > max)
max = *it;
}
std::cout << min << ' ' << max << std::endl;
}
Aturan
- Anda tidak boleh menggunakan fungsi bawaan untuk menghitung nilai.
- Celah standar tidak diijinkan.
- Implementasi kreatif didorong.
- Ini kode-golf , jawaban terpendek menang tetapi tidak akan dipilih.
Klarifikasi
- Jika array berisi 1 elemen, Anda perlu menampilkannya dua kali.
- Jika nilai minimum dan maksimum adalah sama, Anda harus mengeluarkan keduanya.
code golf