القضية رقم 28: التدريب على تكنولوجيا المعلومات - القضايا والتحديات الحالية من الشركات الرائدة

تحية!
اليوم في مهام تقييمنا مع مقابلات على LinkedIn.

صورة

إذا قررت جميعها على الطريق ، وفكرت جديا في الانضمام إلى LinkedIn ، فننصحك بالاستماع إلى إصدار البودكاست الخاص بنا.

صحيح ، إنه يتعلق بالمنتجات ، لكننا نسأل فيه ديمتري بيردنيكوف ، مدير الإستراتيجية والعمليات ينكدين ، بالتفصيل عن جميع مراحل المقابلات مع الشركة.

الاستماع حيث مريحة ↓
أبل بودكاستس
جوجل المدونة الصوتية
Yandex.Music
أو على صفحة البودكاست

وبالمناسبة ، تم بالفعل نشر الإجابات عن المشاكل السابقة! تحقق معهم.

الأسئلة


1. مونتي هول المشكلة
افترض أنك في عرض لعبة ، وأنك اخترت ثلاثة أبواب: خلف أحد الأبواب سيارة ؛ وراء الآخرين والماعز. يمكنك اختيار الباب ، ويقول رقم 1 ، والمضيف ، الذي يعرف ما وراء الأبواب ، يفتح بابًا آخر ، يقول لا. 3 ، الذي لديه عنزة. ثم يقول لك ، "هل تريد اختيار الباب رقم 2؟ "
هل هو لصالحك للتبديل اختيارك؟

صورة
ترجمة
افترض أنك في عرض لعبة ، وأنك حصلت على خيار من ثلاثة أبواب: باب سيارة واحد ؛ عن الماعز الأخرى. اخترت الباب ، مثلا ، رقم 1 ، والمقدم الذي يعرف ما وراء الأبواب ، يفتح بابًا آخر ، يقول ، رقم 3 ، يوجد فيه عنزة. ثم يقول لك ، "هل تريد اختيار الباب رقم 2؟"
هل هو مربح بالنسبة لك لتغيير اختيارك؟

2. العثور على جرة مع حبوب منع الحمل
لديك 5 علب من الحبوب. تزن كل حبة 10 جرامات ، باستثناء الحبوب الملوثة الموجودة في جرة واحدة ، حيث تزن كل حبة 9 جرامات. بالنظر إلى المقياس ، كيف يمكنك معرفة الجرة التي تحتوي على الحبوب الملوثة في قياس واحد فقط؟

ترجمة
لديك 5 علب من الأقراص. يزن كل قرص 10 جرام ، باستثناء الأقراص المصابة الموجودة في جرة واحدة ، حيث يزن كل قرص 9 جرامات. لديك مقاييس ، كيف يمكنك تحديد البنك الذي كانت الحبوب المصابة فيه ، في وزن واحد فقط؟

المهام


1. substrings متميزة
إعطاء سلسلة S تتكون من أحرف أبجدية كبيرة. إرجاع عدد من سلاسل فرعية مختلفة من الحجم 2 التي تظهر في S كخلفية فرعية متجاورة.

الإدخال: يحتوي السطر الأول على "T" للدلالة على عدد حالات الاختبار. ثم يلي وصف حالات الاختبار. تحتوي الأسطر T التالية على السلسلة S.

الإخراج: إخراج عدد من سلاسل فرعية مختلفة من حجم 2 في S.

القيود:
1<=T<=50
1<=|S|<=100


على سبيل المثال:
الإدخال:
2
ABCAB
XYZ


الإخراج:
3
2


Explanation: بالنسبة الى "ABCAB" ، تكون العناصر الفرعية الثلاثة المميزة للحجم 2 هي "AB" و "BC" و "CA". بالنسبة إلى "XYZ" ، فإن السفينتين المتميزتين من الحجم 2 هما "XY" و "YZ".

ترجمة
السلسلة المعطاة S ، تتكون من أحرف أبجدية كبيرة. إرجاع عدد سلاسل مختلفة من الحجم 2 التي تظهر في S كـ substrings المجاورة.

الإدخال: يحتوي السطر الأول على "T" ، مما يشير إلى عدد الاختبارات. فيما يلي وصف للاختبارات. تحتوي الأسطر T التالية على السلسلة S.

الإخراج: طباعة رقم واحد - عدد سلاسل مختلفة من الحجم 2 في السلسلة S.

القيود:
1< = T< = 50
1<= / S / < = 100


مثال:
المدخلات:
2
ABCAB
XYZ


الإخراج:
3
2


Explanation: بالنسبة الى "ABCAB" ، تكون العناصر الفرعية الثلاثة المختلفة للحجم 2 هي "AB" و "BC" و "CA". بالنسبة لـ "XYZ" ، هناك نوعان أساسيان منفصلان بالحجم 2 هما "XY" و "YZ".

2. أطول فترة متتالية
إعطاء مجموعة arr [] من الأعداد الصحيحة الموجبة. ابحث عن طول أطول تسلسل فرعي بحيث تكون العناصر الموجودة في اللاحقة هي أعداد صحيحة متتالية ، ويمكن أن تكون الأرقام المتتالية بأي ترتيب.

الإدخال:
يحتوي السطر الأول من المدخلات على T ، وعدد حالات الاختبار. السطر الأول من السطر يحتوي كل حالة اختبار على عدد صحيح واحد N.
السطر التالي يحتوي على N عدد صحيح.

الإخراج:
اطبع إخراج كل حالة اختبار في خط منفصل.

القيود:
1 <= T <= 100
1 <= N <= 105
0 <= a[i] <= 105


على سبيل المثال:
الإدخال:
2
7
2 6 1 9 4 5 3
7
1 9 3 10 4 20 2


الإخراج:
6
4


التفسير:
اختبار 1: الأرقام المتتالية هنا هي 1 ، 2 ، 3 ، 4 ، 5 ، 6. تشكل هذه الأرقام الستة أطول فترة فرعية متتالية.

Testcase2: 1 ، 2 ، 3 ، 4 هي أطول فترة متعاقبة.

ترجمة
يتم إعطاء مجموعة من arr [] أعداد صحيحة موجبة. أوجد طول أطول فترة لاحقة بحيث تكون العناصر الموجودة في اللاحقة هي أعداد صحيحة متتالية ، ويمكن أن تكون الأرقام المتتالية بأي ترتيب .

المدخلات:
السطر الأول من المدخلات يحتوي على T ، وعدد حالات الاختبار. يحتوي السطر الأول من كل اختبار على عدد صحيح واحد N.
السطر التالي يحتوي على N عدد صحيح.

الإخراج:
طباعة إخراج كل اختبار على سطر منفصل.

القيود:
1 < = T < = 100
1 < = N < = 105
0 <= a[i] < = 105


مثال:
المدخلات:
2
7
2 6 1 9 4 5 3
7
1 9 3 10 4 20 2


الإخراج:
6
4


التفسير:
الاختبار 1: الأرقام التسلسلية هنا هي 1 ، 2 ، 3 ، 4 ، 5 ، 6. تشكل هذه الأرقام الستة أطول استعلام فرعي تسلسلي.

اختبار 2: 1 ، 2 ، 3 ، 4 - أطول فترة متتابعة.

3. subindings المتناوب مميزة
نظرًا لسلسلة من أحرف ASCII الصغيرة ، ابحث عن جميع السلاسل الفرعية المتتالية المتميزة المستمرة لها.

الإدخال:
يحتوي السطر الأول من المدخلات على عدد صحيح T يشير إلى عدد حالات الاختبار. ثم اتبع حالات اختبار T. كل حالة اختبار تحتوي على سلسلة.

الإخراج:
اطبع عدد السلاسل الفرعية المتتالية المتميزة المستمرة.

القيود:
1<=T<=10^5
1<=length of string<=10^5


على سبيل المثال:
الإدخال:
2
abaaa
geek


الإخراج:
5
4

ترجمة
نظرًا لسلسلة من أحرف ASCII الصغيرة ، ابحث عن كل طبقات الأساس المتواصل الفردي المستمر.

المدخلات:
يحتوي السطر الأول من الإدخال على عدد صحيح T ، يشير إلى عدد الاختبارات. ثم اتبع الاختبارات. كل اختبار يحتوي على خط.

الإخراج:
طباعة عدد من subindings palindromic المستمر من هذا النوع.

القيود:
1< = T<=10^5
1< = <=10^5


مثال:
المدخلات:
2
abaaa
geek


الإخراج:
5
4


الإجابات


السؤال 1
إذا غيرت اختيارك ، فستحصل على سيارة باحتمال 2/3. لذلك تغيير في الاختيار في مثل هذا الموقف يزيد من احتمال الفوز.
مزيد من التفاصيل موضحة على ويكيبيديا . يمكنك أيضا دراسة هذه المحاضرة . بالإضافة إلى ذلك ، هناك محاكاة عبر الإنترنت لمهمة Monty Hall.

السؤال 2
خذ حبة واحدة من العلبة 1 ، 2 حبة من العلبة 2 ، 3 أقراص من العلبة 3 ، 4 أقراص من العلبة 4 و 5 أقراص من العلبة 5. ضع كل هذه الأقراص الخمسة عشر على مقياس. الوزن الصحيح هو 150 (15 * 10). لكن إحدى العلب مصابة بحبوب منع الحمل. سيكون الوزن بالتأكيد أقل من 150. إذا كان الوزن 149 ، فإن بنك 1 لديه أقراص مصابة ، لأنه يوجد قرص واحد مصاب فقط. إذا كان الوزن 148 ، ثم العلبة 2 ، إذا كان الوزن 147 ، ثم العلبة 3 ، إذا 146 ، ثم العلبة 4 ، إذا 145 ، ثم العلبة 5.

المهمة 1
حل بايثون
 for _ in range(int(input())): s = input() ls = [s[i:i+2] for i in range(0,len(s))] del ls[-1] ls = list(set(ls)) print(len(ls)) 

المهمة 2
 #include<iostream> using namespace std; int main() { int t; cin >> t; while(t--) { int n; cin >> n; int ar[n]; for(int i=0;i<n;i++) cin >> ar[i]; //************************************* //Finding Max Element of Array int max=-1; for(int i=0;i<n;i++) { if(ar[i]>max) { max=ar[i]; } } //*************************************** int size = max+1; int hash[size]={0}; for(int i=0;i<n;i++) hash[ar[i]]++; //*************************************** /*for(int i=0;i<size;i++) cout << hash[i] << " "; cout << endl;*/ for(int i=0;i<n;i++) { if(hash[ar[i]]>1) hash[ar[i]]=1; } int count = 1,max_count = 1; for(int i=0;i<size;i++) { if(hash[i]==1 && hash[i+1]==1) count++; else { if(count>max_count) max_count=count; count = 1; } } cout << max_count << endl; } } 

المهمة 3
 #include<bits/stdc++.h> using namespace std; bool ispalindrome(string s) { int i=0;int j=s.length()-1; while(i<j) { if(s[i]!=s[j]) return false; i++; j--; } return true; } int main() { //code int t; cin>>t; while(t--) { string s; cin>>s; vector<string>ans; for(int l=1;l<=s.length();l++) { for(int i=0;i<s.length()-l+1;i++) { if(ispalindrome(s.substr(i,l))) ans.push_back(s.substr(i,l)); } } sort(ans.begin(),ans.end()); ans.erase(unique(ans.begin(),ans.end()),ans.end()); cout<<ans.size()<<endl; } return 0; } 

Source: https://habr.com/ru/post/ar479320/


All Articles