Problem Nr. 30: IT-Schulung - aktuelle Probleme und Herausforderungen fĂĽhrender Unternehmen

Hallo! Hier sind wir! Heute haben wir einen Jubiläumsartikel unter Nummer 30!

Wir haben wieder eine Auswahl interessanter Fragen und Aufgaben aus Interviews mit führenden IT-Unternehmen für Sie vorbereitet! Antworten auf Probleme aus der vorherigen Ausgabe wurden bereits veröffentlicht .



Ausgaben erscheinen jede Woche - bleiben Sie dran! Die Kolumne wird von der Personalagentur Spice IT unterstĂĽtzt .

Diese Woche haben wir Aufgaben aus Interviews in der amerikanischen Firma Visa gesammelt.

Fragen


1. 100 Gefangene mit roten / schwarzen HĂĽten
100 Gefangene im Gefängnis stehen in einer Schlange in eine Richtung. Jeder Gefangene trägt einen schwarzen oder roten Hut. Ein Gefangener kann Hüte aller Gefangenen vor sich in der Warteschlange sehen, aber seinen Hut und die Hüte der Gefangenen, die hinter ihm stehen, nicht sehen.
Der Gefängniswärter wird ab dem letzten Gefangenen in der Warteschlange nach der Farbe des Hutes jedes Gefangenen fragen. Wenn ein Gefangener die richtige Farbe sagt, wird er gespeichert, andernfalls ausgeführt. Wie viele Gefangene können höchstens gerettet werden, wenn sie eine Strategie besprechen dürfen, bevor der Gefängniswärter nach den Farben ihrer Hüte fragt?

Transfer
100 . . , , .
, . , , , . , , .
.

2. Verhältnis von Jungen und Mädchen in einem Land, in dem die Menschen nur Jungen wollen
In einem Land wollen alle Familien einen Jungen. Sie bekommen immer wieder Babys, bis ein Junge geboren wird. Wie hoch ist das erwartete Verhältnis von Jungen und Mädchen im Land?

Transfer
. . ?

Aufgaben


1. Das Problem des faulen Caterers
Wenn eine ganze Zahl N angegeben ist , die die Anzahl der Schnitte angibt, die auf einem Pfannkuchen ausgeführt werden können, ermitteln Sie die maximale Anzahl der Stücke, die durch Ausführen von N Schnitten gebildet werden können.

Eingabe:
Die erste Eingabezeile enthält eine einzelne Ganzzahl T, die die Anzahl der Testfälle angibt. Dann folgen T-Testfälle. Jeder Testfall besteht aus einer Zeile. Die erste Zeile jedes Testfalls besteht aus einer Ganzzahl N.

Ausgabe:
Entspricht jedem Testfall in einer neuen Zeile die maximale Anzahl von Teilen, die durch Ausführen von N Schnitten gebildet werden können.

Einschränkungen: Beispiel: Eingabe Ausgabe

1 ≤ T ≤ 100
1 ≤ N ≤ 106




2
5
3


16
7

Transfer
N, , . , , N .

:
T, . T. . N.

:
, , N .

:

1 ≤ T ≤ 100
1 ≤ N ≤ 106


:

2
5
3


16
7

2. Peakelement
Given an array A of N integers. The task is to find a peak element in it.
An array element is peak if it is not smaller than its neighbours. For corner elements, we need to consider only one neighbour.

Note: There may be multiple peak element possible, in that case you may return any valid index.

Input Format:
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains an integer N. Then in the next line are N space separated values of the array.

Output Format:
For each test case output will be 1 if the index returned by the function is an index with peak element.

User Task:
Sie müssen keine Eingaben machen. Vervollständigen Sie einfach die bereitgestellte Funktion peakElement () und geben Sie den gültigen Index zurück.

Einschränkungen: Beispiel: Eingabe: Ausgabe: Erläuterung: Testfall 1: In dem angegebenen Array ist 3 das Peakelement . Testfall 2: 4 ist das Peakelement .
1 <= T <= 100
1 <= N <= 100
1 <= A[] <= 1000




2
3
1 2 3
2
3 4


3
4





Transfer
A N . , .
, . .

. , .

:
T, . T. N. N .

:
1 <= T <= 100
1 <= N <= 100
1 <= A [] <= 1000


:
:

2
3
1 2 3
2
3 4

:
3
4


:
1:
3 .
2: 4 .

3. Maximale IntervallĂĽberlappung
Consider a big party where a log register for guest’s entry and exit times is maintained. Find the time at which there are maximum guests in the party. Note that entries in register are not in any order.

Input:
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains an integer n denoting the size of the entry and exit array. Then the next two line contains the entry and exit array respectively.

Output:
Print the maximum no of guests and the time at which there are maximum guests in the party.

Constraints:
1<=T<=10^5
1<=N<=10^5
1<=entry[i],exit[i]<=10^5


Example:
Input:

2
5
1 2 10 5 5
4 5 12 9 12
7
13 28 29 14 40 17 3
107 95 111 105 70 127 74


Output:
3 5
7 40

, . , . , .

:
T, . T. n, . .

:
, .

:
1 <= <= 10 ^ 5
1 <= N <= 10 ^ 5
1 <= [I], [I] <= 10 ^ 5


:
:

2
5
1 2 10 5 5
4 5 12 9 12
7
13 28 29 14 40 17 3
107 95 111 105 70 127 74


:
3 5
7 40



1
99 , 100- 50-50 .
, .

100- , . , , 99- .

99- 100- . 100-. 99- .

100- «» ( )
) 99- , .
) 99- , — .

100- «» ( )
) 99- , — .
) 99- , — .

98- 99- .

97 1 .

2
: . , , , .

.
NG .

, (1-p) , .

NG .

NG = 0*(1-p) + 1*p*(1-p) + 2*p*p*(1-p) + 3*p*p*p*(1-p) + 4*p*p*p*p*(1-p) +.....

p = 1/2 (1-p) = 1/2 .

NG = 0*(1/2) + 1*(1/2)2 + 2*(1/2)3 + 3*(1/2)4 + 4*(1/2)5 + ...
1/2*NG = 0*(1/2)2 + 1*(1/2)3 + 2*(1/2)4 + 3*(1/2)5 + 4*(1/2)6 + ...


NG - NG/2 = 1*(1/2)2 + 1*(1/2)3 + 1*(1/2)4 + 1*(1/2)5 + 1*(1/2)6 + ...

1
NG/2 = (1/4)/(1-1/2) = 1/2

NG = 1

1
, : (n + c*c + 2) / 2
int main() {
	int t,n,final;
	cin>>t;
	while(t--){
	   cin>>n;
	   final=(n+(n*n)+2)/2;
	   cout<<final<<endl;
	}
	return 0;
}

2
// arr: input array
// n: size of array
int peakElement(int a[], int n)
{
    int i;
    for(i=1;i<n-1;i++){
        if(a[i]>a[i-1] && a[i]>a[i+1]){
            return i;
        }
    }
    if(n>1 && a[0]>a[1])
        return a[0];
    if(n-2>=0 && a[n-1]>a[n-2])
    return a[n-1];
}

3
/*package whatever //do not write package name here */

import java.util.*;
import java.lang.*;
import java.io.*;

class GFG {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		
		while (T > 0) {
		    int N = sc.nextInt();
		    int[] entry = new int[N];
		    int[] exit = new int[N];
		    for (int i = 0; i < N; i++) {
		        entry[i] = sc.nextInt();
		    }
		    
		    for (int i = 0; i < N; i++) {
		        exit[i] = sc.nextInt();
		    }
		    
		    Arrays.sort(entry);
		    Arrays.sort(exit);
		    //System.out.println(Arrays.toString(entry));
		    //System.out.println(Arrays.toString(exit));
		    
		    int counter = 0;
		    int maxCounter = -1;
		    int maxTime = -1;
		    
		    int entryIdx = 0;
		    int exitIdx = 0;
		    
		    while (entryIdx < N && exitIdx < N) {
		        if (entry[entryIdx] <= exit[exitIdx]) {
		            counter++;
		            if (counter > maxCounter) {
		                maxCounter = counter;
		                maxTime = entry[entryIdx];
		            }
		            entryIdx++;
		        } else {
		            counter--;
		            exitIdx++;
		        }
		    }
		    
		    System.out.println(maxCounter + " " + maxTime);   
		    T--;
		}
	}
}

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


All Articles