Jadual Kandungan
Contoh Contoh
Input 2
Pendekatan Naif
Contoh
Output
Kerumitan masa dan ruang
Kaedah yang cekap
Kesimpulan
Rumah pembangunan bahagian belakang C++ Cari nombor terkecil yang terbentuk dengan memasukkan nombor yang diberi

Cari nombor terkecil yang terbentuk dengan memasukkan nombor yang diberi

Sep 08, 2023 pm 08:29 PM
nombor masukkan terkecil

Cari nombor terkecil yang terbentuk dengan memasukkan nombor yang diberi

Memasukkan nombor ke dalam nombor yang diberikan bermakna menambah nombor baharu pada nombor yang diberikan, sama ada sebelum, selepas atau di tengah nombor. Kami telah diberi nombor dan nombor dan mesti menambah nombor itu pada nombor itu dengan cara yang sekecil mungkin. Untuk memudahkan operasi sisipan, kami akan menukar nombor itu kepada rentetan. Tambahan pula, nombor yang diberikan juga boleh negatif, jadi kita perlu mengambil kira kes ini.

Contoh Contoh

Terjemahan bahasa Cina bagi

Input1

ialah:

Input 1

Given number: 124
Given digit: 3
Output: 1234 
Salin selepas log masuk

Penjelasan − Kami mempunyai empat tempat di mana kami boleh menambah nombor yang diberikan dan hasilnya boleh menjadi 3124, 1324, 1234, 1243. Daripada empat, yang terakhir adalah yang terkecil.

Terjemahan bahasa Cina bagi

Input2

ialah:

Input 2

Given number: -124
Given digit: 3
Output: -3124 
Salin selepas log masuk

Penjelasan − Kami mempunyai empat tempat di mana kami boleh menambah nombor yang diberikan dan hasilnya boleh menjadi -3124, -1324, -1234, -1243. Daripada empat, yang pertama adalah yang paling kecil.

Terjemahan bahasa Cina bagi

Pendekatan Naif

ialah:

Pendekatan Naif

Sekarang kita telah melihat contoh, mari kita lihat langkah-langkah yang akan kita lakukan untuk menyelesaikan masalah -

  • Pertama, kami akan semak sama ada nombor semasa adalah positif atau negatif.

  • Jika nombor semasa adalah negatif, kami akan menandakannya sebagai pembolehubah negatif dan menjadikan nombor semasa positif.

  • Selepas itu, kami akan menukar nombor semasa kepada rentetan dan memanggil asas fungsi berdasarkan sama ada nombor semasa adalah positif atau negatif.

  • Dalam fungsi ini, kami akan cuba menyesuaikan nombor pada setiap kedudukan dan menyemak sama ada nombor semasa lebih kecil atau lebih besar berdasarkan nombor positif atau negatif.

  • Jika nombor semasa adalah positif, kami akan cuba mencari nombor terkecil dan mengembalikannya.

  • Jika tidak, kita mencari nombor terbesar dan mengembalikannya dengan mendarab dengan -1.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

#include <bits/stdc++.h>
using namespace std;
int findMin(string str, int d){
   string ans = str + to_string(d); // variable to store the answer     
   // traversing over the string 
   for(int i=0; i<= str.size(); i++){
      ans = min(ans, str.substr(0,i) + to_string(d) + str.substr(i));
   }
   return stoi(ans);
}
int findMax(string str, int d){
   string ans = str + to_string(d); // variable to store the answer     
   // traversing over the string 
   for(int i=0; i<= str.size(); i++){
      ans = max(ans, str.substr(0,i) + to_string(d) + str.substr(i));
   }
   return stoi(ans);
}
int minimumNumber(int n, int d){
   // checking for the negative number 
   int isNeg = 1;    
   if(n < 0){
      n *= -1;
      isNeg = -1;
   }    
   // converting the current number to string 
   string str = to_string(n);    
   if(isNeg == 1){
      return findMin(str,d);
   }
   else{
      return -1*findMax(str,d);
   }
}
int main(){
   int n = -124; // given number 
   int d = 3; // given digit     
   // calling to the function 
   n = minimumNumber(n, d);    
   cout<<"The minimum number after adding the new digit is "<<n<<endl;
   return 0;
}
Salin selepas log masuk

Output

The minimum number after adding the new digit is -3124
Salin selepas log masuk

Kerumitan masa dan ruang

Kerumitan masa kod di atas ialah O(N*N), dengan N ialah bilangan digit dalam nombor yang diberikan.

Kerumitan ruang kod di atas ialah O(N), dengan N ialah bilangan digit dalam nombor yang diberikan.

Kaedah yang cekap

Dalam kaedah sebelumnya, kami telah menyemak setiap nombor, mencari nombor pertama yang lebih besar daripada nombor yang diberikan, kemudian menambahnya dan mengembalikannya sendiri, yang merupakan kaedah yang cekap. Untuk nombor negatif, cari nombor yang lebih kecil, tambah dan kembalikan.

Jom lihat kod−

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

#include <bits/stdc++.h>
using namespace std;
int findMin(string str, int d){
   // traversing over the string 
   for(int i=0; i<= str.size(); i++){
      if(str[i]-'0' > d){
         return stoi(str.substr(0,i) + to_string(d) + str.substr(i));
      }
   }
   return stoi(str + to_string(d));
}
int findMax(string str, int d){
   // traversing over the string 
   for(int i=0; i<= str.size(); i++){
      if(str[i]-'0' < d){
         return stoi(str.substr(0,i) + to_string(d) + str.substr(i));
      }
   }
   return stoi(str + to_string(d));
}
int minimumNumber(int n, int d){
   // checking for the negative number 
   int isNeg = 1;
   if(n < 0){
      n *= -1;
      isNeg = -1;
   }   
   // converting the current number to string 
   string str = to_string(n);    
   if(isNeg == 1){
      return findMin(str,d);
   }
   else{
      return -1*findMax(str,d);
   }
}
int main(){
   int n = 124; // given number 
   int d = 3; // given digit     
   // calling to the function 
   n = minimumNumber(n, d);    
   cout<<"The minimum number after adding the new digit is "<<n<<endl;
   return 0;
}
Salin selepas log masuk

Output

The minimum number after adding the new digit is 1234
Salin selepas log masuk

Kerumitan masa dan ruang

Kerumitan masa kod di atas ialah O(N), dengan N ialah bilangan digit dalam nombor yang diberikan.

Kerumitan ruang kod di atas ialah O(N), dengan N ialah bilangan digit dalam nombor yang diberikan.

Kesimpulan

Dalam tutorial ini, kami melaksanakan kaedah untuk memasukkan nombor dalam nombor tertentu, iaitu menambah nombor baharu yang diberikan sebelum, selepas, atau antara nombor. Kami melihat dua kaedah, satu dengan kerumitan masa O(N*N) dan satu lagi dengan kerumitan masa O(N). Kerumitan ruang kedua-dua kaedah ialah O(N).

Atas ialah kandungan terperinci Cari nombor terkecil yang terbentuk dengan memasukkan nombor yang diberi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Menggunakan operator MINUS dalam SQL Menggunakan operator MINUS dalam SQL Feb 18, 2024 pm 04:53 PM

Penggunaan MINUS dalam SQL dan contoh kod khusus Dalam SQL, MINUS ialah operator yang digunakan untuk melakukan operasi perbezaan antara dua set hasil. Ia digunakan untuk memadam baris yang sama daripada set hasil pertama seperti dalam set hasil kedua. Set hasil yang dikembalikan oleh operator MINUS akan mengandungi baris yang wujud hanya dalam set hasil pertama. Berikut menggunakan contoh kod khusus untuk menunjukkan penggunaan MINUS: Andaikan terdapat dua jadual - "jadual1" dan "jadual2", strukturnya adalah seperti berikut: Nama jadual: medan jadual1

iOS 17: Cara menukar gaya jam iPhone dalam mod siap sedia iOS 17: Cara menukar gaya jam iPhone dalam mod siap sedia Sep 10, 2023 pm 09:21 PM

Siap sedia ialah mod skrin kunci yang diaktifkan apabila iPhone dipalamkan ke dalam pengecas dan berorientasikan dalam orientasi mendatar (atau landskap). Ia terdiri daripada tiga skrin berbeza, satu daripadanya dipaparkan masa skrin penuh. Teruskan membaca untuk mengetahui cara menukar gaya jam anda. Skrin ketiga StandBy memaparkan masa dan tarikh dalam pelbagai tema yang boleh anda leret secara menegak. Sesetengah tema juga memaparkan maklumat tambahan, seperti suhu atau penggera seterusnya. Jika anda menahan sebarang jam, anda boleh bertukar antara tema yang berbeza, termasuk Digital, Analog, Dunia, Suria dan Terapung. Terapung memaparkan masa dalam nombor gelembung besar dalam warna yang boleh disesuaikan, Solar mempunyai fon yang lebih standard dengan reka bentuk suar matahari dalam warna yang berbeza, dan Dunia memaparkan dunia dengan menyerlahkan

Hasilkan nombor rawak dan rentetan dalam JavaScript Hasilkan nombor rawak dan rentetan dalam JavaScript Sep 02, 2023 am 08:57 AM

Keupayaan untuk menjana nombor rawak atau rentetan alfanumerik berguna dalam banyak situasi. Anda boleh menggunakannya untuk melahirkan musuh atau makanan di lokasi yang berbeza dalam permainan. Anda juga boleh menggunakannya untuk mencadangkan kata laluan rawak kepada pengguna atau mencipta nama fail untuk menyimpan fail. Saya menulis tutorial tentang cara menjana rentetan alfanumerik rawak dalam PHP. Saya berkata pada permulaan siaran ini bahawa beberapa peristiwa benar-benar rawak, dan perkara yang sama berlaku untuk nombor rawak atau penjanaan rentetan. Dalam tutorial ini, saya akan menunjukkan kepada anda cara menjana rentetan alfanumerik pseudo-rawak dalam JavaScript. Menjana Nombor Rawak dalam JavaScript Mari mulakan dengan menjana nombor rawak. Kaedah pertama yang terlintas di fikiran ialah Math.random(), yang mengembalikan apungan

Program C++ untuk membundarkan nombor kepada n tempat perpuluhan Program C++ untuk membundarkan nombor kepada n tempat perpuluhan Sep 12, 2023 pm 05:13 PM

Mewakili nombor sebagai output adalah tugas yang menarik dan penting apabila menulis program dalam mana-mana bahasa. Untuk jenis integer (data jenis pendek, panjang atau sederhana), mudah untuk mewakili nombor sebagai output. Untuk nombor titik terapung (jenis terapung atau berganda), kadangkala kita perlu membundarkannya kepada nombor tempat perpuluhan tertentu. Sebagai contoh, jika kita ingin mewakili 52.24568 sebagai tiga tempat perpuluhan, beberapa prapemprosesan diperlukan. Dalam artikel ini, kami akan memperkenalkan beberapa teknik untuk mewakili nombor titik terapung kepada nombor tempat perpuluhan tertentu dengan membundarkan. Antara pendekatan yang berbeza, adalah penting untuk menggunakan rentetan format seperti C, menggunakan hujah ketepatan dan menggunakan fungsi round() daripada perpustakaan matematik. Mari kita lihat mereka satu persatu. dengan

Bagaimana untuk memasukkan grafik dan teks peta China ke dalam dokumen wps Bagaimana untuk memasukkan grafik dan teks peta China ke dalam dokumen wps Mar 27, 2024 pm 02:01 PM

1. Buka perisian wps dan masukkan antara muka operasi teks wps. 2. Cari pilihan sisipan dalam antara muka ini. 3. Klik pilihan Sisipkan dan cari pilihan Bentuk dalam kawasan penyuntingannya. 4. Klik pilihan bentuk dan cari pilihan yang disyorkan dalam sub-menunya. 5. Cari pilihan peta China dalam pilihan yang disyorkan. 6. Klik pada pilihan peta China dan seretnya dengan butang kiri tetikus di kawasan input penyuntingan untuk mendapatkan peta China yang kami perlukan.

Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth Aug 30, 2023 pm 10:41 PM

Kita semua tahu nombor yang bukan kuasa dua mana-mana nombor, seperti 2, 3, 5, 7, 8, dll. Terdapat N nombor bukan persegi, dan adalah mustahil untuk mengetahui setiap nombor. Jadi, dalam artikel ini, kami akan menerangkan segala-galanya tentang nombor tanpa kuasa dua atau bukan kuasa dua dan cara untuk mencari nombor bukan kuasa dua N dalam C++. Nombor bukan kuasa dua ken Jika nombor ialah kuasa dua integer, maka nombor itu dipanggil kuasa dua sempurna. Beberapa contoh nombor kuasa dua sempurna ialah -1isquareof14issquareof29issquareof316issquareof425issquareof5 Jika nombor bukan kuasa dua mana-mana integer, maka nombor itu dipanggil bukan kuasa dua. Sebagai contoh, 15 nombor bukan kuasa dua yang pertama ialah -2,3,5,6,

Cari nombor yang tidak boleh dibahagikan dengan mana-mana nombor dalam julat, menggunakan C++ Cari nombor yang tidak boleh dibahagikan dengan mana-mana nombor dalam julat, menggunakan C++ Sep 13, 2023 pm 09:21 PM

Dalam artikel ini, kita akan membincangkan masalah mencari nombor antara 1 dan n (diberi) yang tidak boleh dibahagikan dengan sebarang nombor antara 2 dan 10. Mari kita fahami ini dengan beberapa contoh - Input:num=14Output:3Penjelasan:Terdapat tiga nombor,1,11,dan13,yang tidak boleh dibahagikan.Input:num=21Output:5Penjelasan:Terdapat nombor1,11,13,17,dan19,yang tidak boleh dibahagi jika

Nombor dalam Java (dengan 0 awalan dan rentetan) Nombor dalam Java (dengan 0 awalan dan rentetan) Aug 29, 2023 pm 01:45 PM

Nombor dalam Java Adalah penting untuk memahami bahawa kelas nombor bukanlah kelas nyata tetapi kelas abstrak. Di dalamnya, kami mempunyai satu set kelas pembalut yang mentakrifkan fungsinya. Kelas pembalut ini termasuk Integer, Byte, Double, Short, Float dan Long. Anda mungkin perasan bahawa ini adalah jenis data asas yang sama yang kita bincangkan sebelum ini, tetapi ia diwakili sebagai kelas berasingan dengan nama huruf besar untuk mematuhi konvensyen penamaan kelas. Pengkompil secara automatik menukar jenis data primitif kepada objek dan sebaliknya seperti yang diperlukan untuk fungsi atau skop program tertentu, dan kelas berangka adalah sebahagian daripada pakej java.lang. Proses ini dipanggil autoboxing dan unboxing. Dengan memahami sifat abstrak kelas angka dan kelas pembalut yang sepadan, kita boleh

See all articles