Data Analyst
Bir zamanlar, Yandex Reklamları saxtakarlıq üzrə stajyer komandaya qoşuldu. Saxtakarlıq qrupu aktiv idi və botlar vasitəsilə saytlarında trafiki simulyasiya edirdi və beləliklə, botlar tərəfindən reklam göstərişi üçün pul alırdı, stajyerin vəzifəsi bütün bu saxtakarlıq saytlarını tapmaq idi. Maraqlıdır ki, bu saytlar üzərindəki bütün trafik IP dəyişdirilməsi ilə yaradılmışdı və sanki bot A şəhərindən ziyarət edirmiş kimi görünürdü, amma əslində cihaz tamamilə başqa yerdə idi. Çox vaxt keçdi və stajyer bu saxtakarlıq qrupunu əhatə etməyə çalışdı, hətta bəzi saytları qismən tutmağa müvəffəq oldu. Amma bütün şəbəkəni tutmaq mümkün olmadı. Bir müddət sonra, o xəbər gördü: A şəhərində, 02.08.2025 tarixində, mobil internet tamamilə yox idi. Ancaq, kabel (ev) interneti işləməyə davam edirdi. Buna görə, stajyer bütün saxtakarlıq saytlarını necə tapa bilər? Sizdə, 30.07.2025-dən 10.08.2025-ə qədər olan dövr üçün saytların logları cədvəl formatında mövcuddur: timestamp | site_id | city_id Hər qeyd, bir cihaz tərəfindən bir saytın ziyarətini göstərir. Bilirsiniz ki, bot trafiki, hər gün real trafiyə nisbətən çox az dəyişir. Sizin vəzifəniz, regionunu şəhər A olaraq dəyişən və əsasən botlardan ibarət trafiki olan bütün saytları tapmaqdır. Qeyd Məlumatların saxlandığı cədvəl logs adlanır. Cədvəldə nümunə qeyd: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A
Afanasy iki həftə ərzində doqquz rəng dəstəyi ilə Yapon krossvordlarını həll edə biləcək kod yazmaq üzərində işləyirdi, komanda iclasında isə həmkarı ona dedi ki, o, bu işi daha sürətlə həll edə bilər və proqram artıq mənasızdır. Amma Afanasy, optimist olaraq, bu işi davam etdirməyə qərar verdi və aşağıdakıları etdi — həmkarının krossvordları nə qədər yaxşı həll etdiyini qiymətləndirmək. Bu qiymətləndirmə üçün o, IoU metrikasının analoqunu seçdi — hesablamalar klassik Intersection Over Union-ə bənzəyəcək, lakin rənglər üzrə. İş prinsipi belədir: orijinal və həlldə uyğun gələn hər bir hüceyrə rəng üzrə, paya əlavə 1, və payda isə, hər hüceyrə üçün, orijinal və həlldə 1 əlavə edilir (uyğun gələn hüceyrələr üçün yalnız bir dəfə əlavə olunur). Daha sonra, orijinal şəkildəki rənglərin sayı üzrə orta hesablanır və iki onluq yerə yuvarlanır; sıfır rəng kimi qəbul edilmir, ona görə bu rəngdəki hüceyrələr üçün metrik hesablanmamalıdır. Giriş, ilk sətirdə, n sətir və m sütun sayını (sıralama ilə) ehtiva edir. Sonra, 2n sətir gəlir, m ədədlər boşluqla ayrılmışdır — ilk n sətir göndərilmiş krossvord, və növbəti n — orijinal şəkil. Hər sətirin, ikinci sətirdən başlayaraq, tam olaraq m ədəd ehtiva etdiyinə inanılır. Cavab olaraq, nümunələrdə göstərildiyi kimi, iki onluq yerə yuvarlanmış bir ədəd çap edin. Budur bəzi nümunələr: 1. Birinci nümunə [phone] -> 1.0 İzah: uyğun və uyğun olmayan hüceyrələrin töhfəsi (1.0 + 1.0 + 1.0 + 1.0) / rəng sayı (4) 2. İkinci nümunə [phone] -> 0.08 İzah: uyğun və uyğun olmayan hüceyrələrin töhfəsi (0.25 + 0.0 + 0.0) / rəng sayı (3); sıfırlar, nə hüceyrələr kimi, nə də rəng sayı kimi sayılmır. 3. Üçüncü nümunə [phone] göndərilmiş şəkil başlayır [phone] — göndərilmiş şəkil bitir 0 1 2 — orijinal şəkil başlayır [phone] -> 0.47 İzah: uyğun və uyğun olmayan hüceyrələrin töhfəsi (0.4 + 0.5 + 0.5) / rəng sayı (3); sıfırlar, nə hüceyrələr kimi, nə də rəng sayı kimi sayılmır. 4. Dördüncü nümunə [phone] -> 0.0 İzah: uyğun və uyğun olmayan hüceyrələrin töhfəsi (0.0) / rəng sayı (1); sıfırlar, nə hüceyrələr kimi, nə də rəng sayı kimi sayılmır.
B. Əvvəllər və Sona Hissələr N sıfırdan ibarət sıralanmış massiv verilib. Hər bir addımda, bu massivdən istənilən sayda ilk və ya son elementləri seçib, bütün seçilmiş elementlərə bir əlavə edə bilərsiniz. Belə əməliyyatların müəyyən sayından sonra, massivdə göstərilən vəziyyətə çatmaq mümkündürmü? Daxil etmə formatı İlk sətirdə 1 ≤ n ≤ 100000 olan tam ədəd verilir — massivdəki elementlərin sayı. İkinci sətirdə, boşluqla ayrılmış n ədəd sıfır olmayan tam ədəd a1, a2, ..., an verilir, burada ai ≤ 10^18 — istənilən son elementlər. Çıxış formatı Əgər belə bir vəziyyət əldə edilə bilirsə, "YES" çap edin, əks halda "NO". Misal Daxil etmə [phone] Çıxış YES Qeyd [phone] vəziyyətinə aşağıdakı kimi çatmaq olar: birinci üç elementə bir əlavə etmək, nəticədə [phone] son dörd elementə bir əlavə etmək, nəticədə [phone] son elementə bir əlavə etmək, nəticədə [phone]
D. Çin atəşfəşanlığı Vladimir 3 Çin atəşfəşanlığı dəstini aldı. Onlar tamamilə eynidir və qutuda qarışıqdırlar, amma təlimatlara görə, fərqli etibarlılığa malikdirlər: 1. "Elit" — defekt faizi 10% (uğur ehtimalı 0.9). 2. "Standart" — defekt faizi 20% (uğur ehtimalı 0.8). 3. "Ekonom" — defekt faizi 40% (uğur ehtimalı 0.6). Vladimir təsadüfi olaraq ilk atəşfəşanlığı götürür, yandırır və uğurla işləyir. Xoşbəxtlikdən, Vladimir qalan iki atəşfəşanlığı ardıcıl olaraq atmağa qərar verir. İkinci və üçüncü atəşfəşanlığın da uğurla işləmək ehtimalı — defektsiz? Cavabı üç ondalık yerə yuvarlaqlaşdırın.
Təklif olunan həll SQLite üçün işləyərmi?
A. Ən Yaxşı Elmi Laboratoriya Müəyyən bir şəhərdə, bir neçə elmi laboratoriya bakterial mədəniyyətləri araşdırır. Onlar nümunələrin ardıcıllığını öyrənirlər, hər nümunə müəyyən bir suş (bakteriya növü) aid olur. Əsas bioloji tədqiqat universiteti müsabiqə elan etdi: məhdudiyyəti nəzərə alaraq, analiz edilə biləcək ən çox ardıcıl nümunələrin sayını tapmaq. Yəni: hər hansı davamlı seqmentdə, ən çox K müxtəlif suş olmalıdır. Bizim laboratoriyamız şəhərdə ən yaxşı olmaq istəyir. Müsabiqəni qazanmaq üçün, biz dəqiq bu cür maksimum uzunluqlu seqment tapmalıyıq ki, bu da sərt şərti ödəyir. Sizdən asılıyıq, çünki qələbə halında, laboratoriya yeni tədqiqat imkanlarını açacaq maliyyə dəstəyini alacaq. Giriş formatı İlk sətirdə iki ədəd verilir: N — nümunə ardıcıllığının uzunluğu və K — müxtəlif suşların sayı üçün məhdudiyyət. İkinci sətirdə N ədəd — seqmentin elementləri. Çıxış formatı Proqram, nümunə ardıcıllığının ən uzun seqmentinin uzunluğunu çıxarmalıdır. Nümunə 1 Giriş [phone] Çıxış 3
D. Çin atəşfəşanlığı Vladimir 3 Çin atəşfəşanlığı dəstini satın aldı. Onlar tamamilə eynidir və qutuda qarışıqdırlar, amma təlimatlara görə, onların müxtəlif etibarlılığı var: 1. "Elit" — defekt faizi 10% (uğur ehtimalı 0.9). 2. "Standart" — defekt faizi 20% (uğur ehtimalı 0.8). 3. "İqtisadi" — defekt faizi 40% (uğur ehtimalı 0.6). Vladimir təsadüfi olaraq ilk atəşfəşanlığı seçir, yandırır və o uğurla işləyir. Xoşbəxtlikdən, Vladimir qalan iki atəşfəşanlığı ardıcıl olaraq atmağa qərar verir. İkinci və üçüncü atəşfəşanlığın da uğurla işləmək ehtimalı — defektsiz? Cavabı üç ondalık yerə yuvarlaqlaşdırın.