Problem Nr. 36: IT-Schulung - aktuelle Probleme und Herausforderungen fĂŒhrender Unternehmen

Wir haben Ihnen eine neue Auswahl von Aufgaben aus Interviews zur VerfĂŒgung gestellt. ÜberprĂŒfen Sie hier Ihre Lösungen fĂŒr Probleme aus dem vorherigen Artikel .



Teaser: In der nĂ€chsten Ausgabe werden wir ein neues Format ausprobieren. Wir haben uns hierfĂŒr mit einem Unternehmen zusammengetan - dem grĂ¶ĂŸten EinzelhĂ€ndler, der fĂŒr seine IT-Abteilung bekannt ist (Vermutungen werden in den Kommentaren akzeptiert). Bleib dran, wie sie sagen. Die Kolumne wird von der Personalagentur Spice IT unterstĂŒtzt .

Ich erinnere Sie daran, dass der Umriss unseres Artikels folgendermaßen lautet: Wir veröffentlichen zwei Fragen, fĂŒr deren AufwĂ€rmen kein Code geschrieben werden muss. Als NĂ€chstes veröffentlichen wir drei Aufgaben, bei denen Code in einer der fĂŒr Sie geeigneten Sprachen geschrieben wird, sofern in einer bestimmten Aufgabe nichts anderes angegeben ist.
Außerdem werden alle Fragen und Aufgaben in zunehmender Reihenfolge komplexer.
Also lasst uns anfangen.

Fragen


1. Suchen Sie die fehlende Zeile in Excel
Wir erhalten ein Excel-Blatt, das ganze Zahlen von 1 bis 50 enthĂ€lt, einschließlich beider. Die Zahlen sind jedoch durcheinander und es fehlt 1 Ganzzahl. Sie mĂŒssen einen Code schreiben, um die fehlende Ganzzahl zu identifizieren. Nur die Logik ist erforderlich.

Transfer
excel, 1 50 . , , . , .

2. Tic Tac Toe Puzzle
Das Spiel Tic-Tac-Toe wird zwischen zwei Spielern gespielt und befindet sich nach sechs ZĂŒgen im unteren Zustand.

Können Sie die folgenden Fragen beantworten?
  • Wer gewinnt das Spiel, O oder X?
  • Welches war die sechste Marke und an welcher Position?

Angenommen, beide Spieler sind intelligent genug.

Transfer
- , ( ) .
?
  • , ?
  • 6- ?

, .

Aufgaben


1. Finde den Gewinner des Spiels von Nim
In Game of Nim, two players take turns removing objects from heaps or the pile of stones.
Suppose two players A and B are playing the game. Each is allowed to take only one stone from the pile. The player who picks the last stone of the pile will win the game. Given N the number of stones in the pile, the task is to find the winner, if player A starts the game.

Input:
The input line contains T, denoting the number of test cases. Then T test case follows, a single line of the input containing a positive integer N.

Output:
Print the winner i.e. Player A or Player B for each testcase in a separate line.

Constraints:
1 <= T <= 100
1 <= N <= 1000


Example:
Input:

2
3
15


Ausgabe: ErlĂ€uterung: Testfall 1: Spieler A entfernt Stein 1, der sich oben befindet, dann entfernt Spieler B Stein 2 und schließlich entfernt Spieler A den letzten Stein.
Player A
Player A





Transfer
Nim .
, . . , , . N , , , .

:
T, . N .

:
, B, .

:
1 < = T < = 100
1 < = N < = 1000


:
:

2
3
15


:



:
1: 1, , 2,
, , — .

2. Warteschlangenumkehr
Given a Queue Q containing N elements. The task is to reverse the Queue. Your task is to complete the function rev(), that reverses the N elements of the queue.

Input:
The first line of input contains an integer T denoting the Test cases. Then T test cases follow. The first line contains N which is the number of elements which will be reversed. Second line contains N space seperated elements.

Output:
For each testcase, in a new line, print the reversed queue.

Your Task:
This is a function problem. You only need to complete the function revDas nimmt eine Warteschlange als Parameter und gibt die umgekehrte Warteschlange zurĂŒck . Der Druckvorgang erfolgt automatisch ĂŒber den Treibercode .

EinschrÀnkungen: Beispiel: Eingabe: ErlÀuterung: Testfall 1: Nach dem Umkehren der angegebenen Elemente der Warteschlange ist die resultierende Warteschlange 6 2 10 1 3 4. Testfall 2: Nach dem Umkehren der angegebenen Elemente der Warteschlange ist die resultierende Warteschlange 1 2 3 4.
1 ≀ T ≀ 100
1 ≀ N ≀ 105
1 ≀ elements of Queue ≀ 105




2
6
4 3 1 10 2 6
4
4 3 2 1
Output :

6 2 10 1 3 4
1 2 3 4





Transfer
Q, N . , . — rev(), N .

:
T, . T . N — , . N .

:
.

:
. rev, . .

:
1 ≀ T ≀ 100
1 ≀ N ≀ 105
1 ≀ ≀ 105


:
:

2
6
4 3 1 10 2 6
4
4 3 2 1

:
6 2 10 1 3 4
1 2 3 4


:
1: 6 2 10 1 3 4.
2: 1 2 3 4.

3. Operationen auf PriorityQueue
Given N integers, your task is to add these elements to the PriorityQueue. Also, given M integers, the task is to check if element is present in PriorityQueue. If present, print 1 and return the max element of priority queue, and then delete the max element. If not present, print -1.

Input Format:
First line of testcas contains number of testcases T. For each testcase, there will be 4 lines. First line contains N, number of elements to be inserted into the Priority Queue. Second line contains N positive integers separated by space. Third line contains M, fourth line contains M positive integers.

Output Format:
For each testcase, print «1» and max element in newlines if element to be found is present in the PriorityQueue, else print "-1".

Your Task:
Your task is to complete the functions insert(), find(), and delete(), such that it adds, find and delete the elements from the queue respectively.

Constraints:
1 <= T <= 100
1 <= N <= 103
1 <= M <= 103


Example:
Input:

1
8
1 2 3 4 5 2 3 1
5
1 3 2 9 10


Output:
1
5
1
4
1
3
-1
-1


Explanation:
Testcase 1: After inserting given elements, when we find 1, which is present, so we print 1, and then we print the top element of the PriorityQueue which is 5, and delete it. Similarly, when element is not present, just print "-1".

N , , PriorityQueue. , M , , , PriorityQueue. , 1 , . , -1.

:
. 4 . N — , . N , . M — PriorityQueue, M .

:
«1» , PriorityQueue, "-1".

:
, insert(), find() delete() , , .

:
1 < = T < = 100
1 < = N < = 103
1 <= M < = 103


:
:

1
8
1 2 3 4 5 2 3 1
5
1 3 2 9 10


:
1
5
1
4
1
3
-1
-1


:
1: , PriorityQueue = 1 2 3 4 5 2 3 1. 1 3 2 9 10. «1» PriorityQueue, «1» PriorityQueue «5» . , , "-1".


1
, 1 n (n*(n+1)/2)
1 50
50*(50+1)/2 (, n = 50)
= 50*(51)/2
= 25*51
= 1275.

, , , , 1275. 1275 .

2
O . 9.
:
7- 5, X, O. , 6- , . – 6- 7, 9.

, , 6- 7. 5 .

, X, 9. . , .

1
printf("%s\n",(n % 2) ? "Player A" : "Player B");

2
{
    // add code here.
    stack<long long int> st;
    while(!q.empty())
    {
        int a=q.front();
        st.push(a);
        q.pop();
    }
    while(!st.empty())
    {
        q.push(st.top());
        st.pop();
    }
    return q;
}

3
static void insert(PriorityQueue<integer> q, int k){
q.add(k);
}

static boolean find(PriorityQueue<integer> q, int k){
return q.contains(k);
}

static int delete(PriorityQueue<integer> q){
int removed = q.remove();
return removed;
}

All Articles