9-a qədər rekursiv şəkildə əlavə olunan alt sətirlərin sayı


SimBaxılıb 211

Sistem dizaynı ilə bağlı müsahibə sualları o qədər açıq ola bilər ki, düzgün hazırlaşmağı bilmək çox çətindir. İndi satın aldıqdan sonra Amazon, Microsoft və Adobe-nin dizayn dövrlərini sındıra bilirəm Bu kitabı. Gündəlik bir yenidən nəzərdən keçirin dizayn sualı və söz verirəm ki, dizayn dövrünü sındıra bilərsiniz.

Bir ədədi təmsil edən bir simli nəzərə alsaq, verilən sətrin 9-a qədər olan alt sətirlərinin sayını tapmaq üçün bir funksiya yazmalıyıq.

Nümunələr

a) Giriş sətri: 7299
Çıxış: 6
Burada, 6-a qədər rekursiv şəkildə əlavə olunan 9 altlıq var
Alt simlər bunlardır: 72, 729, 7299, 9, 99, 9

b) Giriş sətri: 999
Çıxış: 6
Burada, 6-a qədər rekursiv şəkildə əlavə olunan 9 altlıq var
Alt simlər bunlardır: 9, 99, 999, 9, 99, 9

Zamanın mürəkkəbliyi: O (n2)

Alqoritm

1. Substrings sayını sayda saxlayın.

2. 0 ilə başlayın.

3. Hər bir işarəni alt sətrin başlanğıcı kimi nəzərdən keçirin, rəqəmlərin cəmini alt sətirdə cəmdə saxlayın.

4. Əgər cari xarakter 9-dursa, artım sayın.

5. Cari xarakterin yanında xarakterin sonu kimi bütün simvolları bir-bir seçin.

6. Cəminə son xarakter əlavə edin, cəmi 9-dan çox olarsa, artım sayın. Cəmi 0 ilə bölün (qalan 0 olmalıdır)

7. Son sayını qaytarın.

C ++ Proqramı

#include <bits/stdc++.h>

using namespace std;

//Main function
int main()
{
    char string[] = "7299";
    //Initialize count = 0
    int count = 0;
    int length = strlen(string);
    for (int i = 0; i < length; i++)
    {
        int sum = string[i] - '0';
        //If char is 9, increment count
        if (string[i] == '9')
        {
            count++;
        }
        //loop for end char and sum is multiple of 9
        //incremnt count
        for (int j = i+1; j < length; j++)
        {
            sum = (sum + string[j] - '0')%9;
            if (sum == 0)
            {
               count++;
            }
        }
    }
    //return final count
    cout<<"count of sub-strings for 7299 is: "<<count<<endl;
    return 0;
}

Yoxla

 

 

Crack Sistemi Dizayn Müsahibələri
Translate »