int XOR = A[0]; int
right_most_set_bit_no; int n =
hajmi - 2; int X=
0, Y = 0;
1 ning ikkilik ko'rinishida
,
agar(A[i] va o'ng_most_set_bit_no)
,
XOR ^= A[i];
} for(i = 1; i <= n; i++) {
}
boshqa
Machine Translated by Google
©www.CareerMonk.com
Ma'lumotlar tuzilmalari va algoritmlari osonlashtirildi
445
Qidirilmoqda | Qidiruvdagi muammolar
Massivdagi barcha sonlarning yig‘indisi va hosilasi bo‘lsin, takrorlanayotgan sonlar esa va bo‘lsin.
Ushbu yondashuv bilan qo'shish va ko'paytirish muammosi bo'lishi mumkin.
,
. Nihoyat, biz ikki marta takrorlanadigan elementni olamiz.
Masala- Masala-64 Alohida Juft va Toq sonlarni ajratish
Kirish = {12, 34, 45, 9, 8, 90, 3}
Yuqoridagi ikkita tenglamadan foydalanib, va ni aniqlashimiz mumkin.
Xuddi shu mantiq bilan, ikki marta takrorlangan element uchun, agar biz kirish elementlari va diapazon
bo'lsak, u holda ushbu element uchun umumiy ko'rinishlar soni 3 ga teng bo'ladi.
Vaqt murakkabligi:().
Kosmik murakkablik: (1).
Vaqt murakkabligi: ().
Misol: Misol
Vaqt murakkabligi: ().
=
Chiqish = {12, 34, 90, 8, 9, 45, 3}
keyin barcha elementlar
Juft va toq raqamlar
Yechish:
Yechish: Massivdagi barcha elementlarni xor qilsak va 1 dan tricegacha
bo‘lgan barcha butun sonlar nolga aylanadi, chunki element trice va XOR ni diapazondan boshqa vaqt bilan
takrorlayotgani uchun bu element to‘rt marta paydo bo‘ladi. Natijada a.ning chiqishi
Yechish:
Yechish: Buni ikkita oddiy matematik tenglama tuzish orqali hal qilishimiz mumkin. Faraz qilaylik, biz
Do'stlaringiz bilan baham: |