Cookies Leetcode həllini təyin edin

Çətinlik səviyyəsi Asan
Tez-tez soruşulur Amazon
alqoritmlər kodlaşdırma Görməmiş müsahibə müsahibə hazırlığı LeetCode LeetCodeSolutionsBaxılıb 91

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.

Leetcode Solution cookies təyin etmə problemi iki sıra ilə təmin olunur. Biri seriallar çərəzlərin ölçüsünü, digəri isə uşaqların acgözlüyünü təmsil edir. Problem uşaqlara valideyn olduğunuzu və maksimum uşaq sayının razı qalmasını istədiyinizi bildirir. Bir uşağa yalnız bir çərəz verə bilərsiniz. Məzmun uşaqlarının maksimum sayını tapın. Əvvəlcə bir neçə nümunə götürək.

g = [1,2,3], s = [1,1]
1

İzahat: Hər biri 1 ölçülü iki çərəzimiz və fərqli məzmun dəyərlərinə sahib üç uşağımız var. Yalnız xəsislik dəyəri 1 olan bir uşaq məzmunu edə bilərik. Çünki digər iki uşaq daha böyük çərəzlərə ehtiyac duyur.

Cookies Leetcode həllini təyin edinPin

g = [1,2], s = [1,2,3]
2

İzahat: Əldə etdiyimiz çərəzlər tələb olunan ölçülərə daha çox və ya bərabər olduğu üçün hər iki uşağa da məzmun hiss etdirə bilərik. Beləliklə çıxış 2-dir.

Cookies Leetcode Solution təyin etmək üçün yanaşma

Çərəzlər təyin etmək Leetcode Solution problemi, bir uşağa yalnız bir çərəz verə biləcəyimiz təqdirdə maksimum məzmun uşaq sayını tapmağımızı xahiş edir. Beləliklə, ən yaxşı yanaşma acgözlüklə ən az acgöz uşağın istifadə edilə bilən ən kiçik çərəzdən məmnun qalmasını təmin etməyə çalışmaqdır. Beləliklə, bu prosesi simulyasiya etmək üçün həm verilmiş massivləri çeşidləyirik, həm də çərəzləri uşaqlara təyin etməyə çalışırıq. Hazırkı çərəzi hazırkı uşağa təyin edə bilmiriksə, hazırkı uşağı təmin edənə qədər növbəti çərəzi sınayırıq. Çünki hazırkı uşağı doydura bilmiriksə, növbəti uşaqları mövcud peçenye ilə doydura bilmərik.

Kodu

Cookies Leetcode Solution təyin etmək üçün C ++ kodu

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

int findContentChildren(vector<int>& g, vector<int>& s) {
    sort(g.begin(), g.end());
    sort(s.begin(), s.end());
    int numberOfChildren = g.size(), numberOfCookies = s.size();
    int cookie = 0, answer = 0;
    for(int i=0;i<numberOfChildren && cookie<numberOfCookies;){
        if(s[cookie] >= g[i]){
            i++;
            answer++;
        }
        cookie++;
    }
    return answer;
}

int main(){
    vector<int> g = {1, 2, 3};
    vector<int> s = {1, 1};

    cout<<findContentChildren(g, s);
}
1

Cookies Leetcode Solution təyin etmək üçün Java kodu

import java.util.*;
import java.lang.*;
import java.io.*;
 
class Ideone
{
    public static int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int numberOfChildren = g.length;
        int numberOfCookies = s.length;
        int cookie = 0, answer = 0;
        for(int i=0;i<numberOfChildren && cookie<numberOfCookies;){
            if(s[cookie] >= g[i]){
                i++;
                answer++;
            }
            cookie++;
        }
        return answer;
    }
 
  public static void main (String[] args) throws java.lang.Exception
  {
    int[] g = {1, 2, 3};
    int[] s = {1, 1};
 
    System.out.println(findContentChildren(g, s));
  }
}
1

Mürəkkəblik təhlili

Zamanın mürəkkəbliyi

O (NlogN), verilmiş massivləri sıralamaq üçün tələb olunan vaxta görə. Burada N verilən massivlərdəki elementlərin sayını təmsil edir.

Kosmik Mürəkkəblik

O (NlogN), verilən massivləri sıralamaq üçün lazım olan yer olduğundan. Yenidən N massivlərdəki elementlərin sayını təmsil edir.

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