Əsas 7 Leetcode Solution

Çətinlik səviyyəsi Asan
Tez-tez soruşulur Bloomberg Garena
alqoritmlər kodlaşdırma müsahibə müsahibə hazırlığı LeetCode LeetCodeSolutions RiyaziyyatBaxılıb 33

Problem Base 7 Leetcode Solution, bir ədədi baza 7 sayına çevirməyimizi istər. Verilən rəqəm nömrə xəttində hər iki istiqamətdə 10 milyona qədər mənfi və ya müsbət ola bilər. Problem sadə görünür və ondalık ədədin fərqli bir bazaya çevrilməsidir. Bir ədədin ikili formatda çevrilməsi kimi. Baza 2-nin əvəzinə, baza 7-dir. Qaytarılan dəyər bir sətir olmalıdır. Bir neçə nümunəyə nəzər salaq.

misal

100
"202"

İzahat: Dönüşümdən sonra baza 202-dəki 7 rəqəmi ondalık formatda 100 verir. 202 bazada 7 = 2 * (7 ^ 2) + 0 * (7 ^ 1) + 2 * (7 ^ 0) = 100 bazada 7.

Əsas 7 Leetcode SolutionPin

-7
"-10"

İzahat: Verilən -7 ədədi 7-yə çevrildikdən sonra -10 verəcəkdir.

Base 7 Leetcode Həlli üçün yanaşma

Problem Base 7 Leetcode Solution, bizə bir nömrə və ya təmin edir tam və bazanı 7-yə çevirməyimizi xahiş edir. Yalnız baza 7-yə çevrilmək sadə bir əməliyyatdır. Verilən ədədi lazımlı bazamızla bölməyə davam edirik. Nömrəni böldükdən sonra qalıq saxlanılır. Sonra ədədi böldükdən sonra tapılan nəticə təkrar bölünməyə göndərilir. Sualın cavabı olan qalığı saxlamağa davam edirik. Sayı verilən bazadan az olduqda təkrarlanan proses dayandırılır.

Beləliklə, 100-ü giriş kimi nəzərdən keçirək. Əvvəlcə ədədi 7-yə bölürük, nisbət 14, qalan 2-dir. Sonra qalıq saxlanılır və bölmə yenidən bölünməyə göndərilir. İndi, nisbət 2 olur, qalanı isə saxlanılır. İndiyə qədər çevrilmiş rəqəm 20 olur. Sonra hissə yenidən bölünməyə göndərilir, lakin verilən bazadan (7) az olduğu üçün qaytarılır. Beləliklə, son nəticə 202 olur.

Kodu

Base 7 Leetcode Solution üçün C ++ kodu

#include <bits/stdc++.h>
using namespace std;

string convertToBase7(int num) {
    if(num < 0)return "-" + convertToBase7(-num);
    else if(num < 7) return to_string(num);
    else
        return convertToBase7(num/7) + convertToBase7(num%7);
}

int main(){
    cout<<convertToBase7(100);
}
202

Base 7 Leetcode Solution üçün Java kodu

import java.util.*;
import java.lang.*;
import java.io.*;

class Solution {
    public static String convertToBase7(int num) {
        if(num < 0)return "-" + convertToBase7(-num);
        else if(num < 7) return Integer.toString(num);
        else
            return convertToBase7(num/7) + convertToBase7(num%7);
    }
    
    public static void main(String[] args){
    	System.out.print(convertToBase7(100));
    }
}
202

Mürəkkəblik təhlili

Zamanın mürəkkəbliyi

O (M (n) log n), burada n - verilən girişin uzunluğu, M (n) - iki bitlik iki ədədi bölmək üçün vaxt. Beləliklə, zamanın mürəkkəbliyi loqaritmikdir.

Kosmik Mürəkkəblik

O (log n), kompilyator yığınının istifadə etdiyi yer. Burada n rəqəmin uzunluğunu təmsil edir. Beləliklə, kosmik mürəkkəblik də loqaritmikdir.

Şərh yaz

Translate »
1