Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam C++, keluarkan satu bit nombor binari untuk mendapatkan nilai maksimum

Dalam C++, keluarkan satu bit nombor binari untuk mendapatkan nilai maksimum

PHPz
PHPzke hadapan
2023-09-17 15:53:081133semak imbas

Dalam C++, keluarkan satu bit nombor binari untuk mendapatkan nilai maksimum

Bincangkan masalah yang diberi nombor binari. Kita perlu mengeluarkan sedikit daripadanya supaya bilangan yang selebihnya hendaklah maksimum di antara semua pilihan lain seperti

Input : N = 1011
Output: 111
Explanation: We need to remove one bit so removing 0 bit will give a maximum number than removing any 1’s bit. 111 > 101, 011.

Input: 111
Output: 11
Explanation: Since all the bits are 1 so we can remove any bit.

Kaedah penyelesaian

Kaedah brute force

Kaedah brute force akan memberikan bilangan keputusan maksimum iaitu dengan sedikit demi sedikit Alih keluar, bandingkan hasil yang berbeza dan dapatkan hasil yang maksimum.

Tetapi ia boleh dilakukan menggunakan pendekatan efisyen, iaitu jika kita mengeluarkan bit berlebihan yang minimum.

Kaedah yang cekap

Kaedah yang cekap memberi impak yang minimum terhadap hasilnya.

  • Mula-mula, mulakan dari kanan dan lalui bahagian-bahagiannya.

  • Cari 0 dan keluarkannya di kaunter pertama.

  • Jika 0 tidak ditemui, keluarkan sebarang bit. .

Mulakan susunan aksara untuk menyimpan nombor hasil.

Gelung akan berjalan ke n-1 kerana kita perlu menyimpan kurang satu elemen daripada nombor asal.

Gelung akan berjalan ke n-1. p>

  • Kesimpulan

    Dalam tutorial ini, kami membincangkan tentang mencari nombor maksimum selepas mengeluarkan satu digit. Kami membincangkan dua cara untuk menyelesaikan masalah ini.
  • Kami juga telah menulis kod C++ untuk ini dan kami boleh menulis kod ini dalam mana-mana bahasa lain seperti C, Java, Python dll. Kami harap anda mendapati tutorial ini membantu.

Atas ialah kandungan terperinci Dalam C++, keluarkan satu bit nombor binari untuk mendapatkan nilai maksimum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam