你好
今天,我们在LinkedIn上进行专栏采访。

如果您即时决定所有建议,并认真考虑加入LinkedIn,我们建议您收听我们播客的发布。
没错,这是关于产品的,但是我们在其中询问了LinkedIn的战略与运营总监Dmitry Berdnikov,详细介绍了与公司面试的所有阶段。
听方便的地方↓
苹果播客Google播客Yandex音乐或在
播客页面上顺便说一句,已经解决了先前的问题! 与他们核对。
问题
1.
Monty Hall问题假设您正在一场游戏节目中,并且可以选择三扇门:一扇门后面是一辆汽车; 在其他人之后,是山羊。 您选择一扇门,说不。 1,知道房间门后面的主人打开另一扇门,说不。 3,里面有一只山羊。 然后,他对您说:“您要选择门号吗? 2?”
切换选择对您有利吗?

笔译假设您正在一场游戏节目中,并且可以选择三个门:一个车门; 为其他山羊。 您选择一个门,例如1号门,而演示者知道门后的内容,便打开另一个门,例如3号门,里面有一只山羊。 然后他告诉您:“您要选择2号门吗?”
改变选择对您有利可图?
2.
找到装有受污染药丸的罐子您有5瓶药。 每个药丸重10克,但装在一个罐中的受污染药丸除外,其中每个药丸重9克。 给定一个刻度,如何仅一次测量就可以分辨出哪个药瓶中有被污染的药丸?
笔译您有5罐片剂。 每个药片重10克,但装在一个罐子中的受感染药片除外,其中每个药片重9克。 您有体重秤,如何仅用一个称重就能确定受感染药丸在哪一排?
任务
1.
不同的子字符串给定由大写字母字符组成的字符串S。 返回大小为2的不同子字符串的数量,这些子字符串在S中显示为连续的子字符串。
输入:第一行包含“ T”,表示测试用例的数量。 然后是测试用例的描述。 接下来的T行包含字符串S。
输出:以S为单位输出大小为2的不同子字符串的数量。
限制条件:
1<=T<=50
1<=|S|<=100
范例:
输入:
2
ABCAB
XYZ
输出:
3
2
说明:对于“ ABCAB”,大小为2的三个不同的子字符串是“ AB”,“ BC”和“ CA”。 对于“ XYZ”,大小为2的两个不同的子字符串是“ XY”和“ YZ”。
笔译给定的字符串S,由大写字母字符组成。 返回在S中显示为相邻子字符串的大小为2的不同子字符串的数目。
输入:第一行包含“ T”,表示测试数量。 以下是测试的说明。 接下来的T行包含字符串S。
输出:打印一个数字-字符串S中大小为2的不同子字符串的数目。
局限性:
1< = T< = 50
1<= / S / < = 100
一个例子:
输入:
2
ABCAB
XYZ
输出:
3
2
说明:对于“ 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。这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。这6个数字构成最长的顺序子查询。
测试2: 1、2、3、4-最长的顺序子序列。
3.
不同回文子串给定一串小写ASCII字符,找到其所有不同的连续回文子字符串。
输入:
输入的第一行包含一个整数T,表示测试用例的数量。 然后是T测试用例。 每个测试用例都包含一个字符串。
输出:
打印它的连续连续回文子字符串的计数。
限制条件:
1<=T<=10^5
1<=length of string<=10^5
范例:
输入:
2
abaaa
geek
输出:
5
4
笔译给定一串小写ASCII字符,找到其所有单独的连续回文子字符串。
输入:
输入的第一行包含一个整数T,表示测试的次数。 然后进行测试。 每个测试包含一行。
输出:
打印此类型的单个连续回文子串的数量。
局限性:
1< = T<=10^5
1< = <=10^5
一个例子:
输入:
2
abaaa
geek
输出:
5
4
答案
问题1如果您更改选择,您将获得2/3概率的汽车。 因此,在这种情况下更改选择会增加获胜的可能性。
更多细节在
Wikipedia上描述。 您也可以学习本
讲座 。 此外,还可以
在线模拟 Monty Hall任务。
问题2从罐头1片中取出1片,从罐头2片中取出2片,从罐头3片中取出3片,从罐头4片中取出4片,从罐头5片中取出5片。将这15片全部放在秤上。 正确的重量是150(15 * 10)。 但是其中一个罐头感染了药丸。 因此,重量肯定会小于150。如果重量为149,则Bank 1已感染了药片,因为只有一块被感染的药片。 如果权重为148,则可以为2,如果权重为147,则可以为3,如果权重为146,则可以为4,如果权重为145,则可以为5。
任务1Python解决方案
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; }