|
3 | 3 | import java.util.ArrayList;
|
4 | 4 | import java.util.List;
|
5 | 5 |
|
6 |
| -/** |
7 |
| - * During the NBA playoffs, we always arrange the rather strong team to play with the rather weak team, |
8 |
| - * like make the rank 1 team play with the rank nth team, which is a good strategy to make the contest more interesting. |
9 |
| - * Now, you're given n teams, you need to output their final contest matches in the form of a string. |
10 |
| - * The n teams are given in the form of positive integers from 1 to n, which represents their initial rank. |
11 |
| - * (Rank 1 is the strongest team and Rank n is the weakest team.) |
12 |
| - * We'll use parentheses('(', ')') and commas(',') to represent the contest team pairing - parentheses('(' , ')') |
13 |
| - * for pairing and commas(',') for partition. During the pairing process in each round, |
14 |
| - * you always need to follow the strategy of making the rather strong one pair with the rather weak one. |
15 |
| -
|
16 |
| - Example 1: |
17 |
| - Input: 2 |
18 |
| - Output: (1,2) |
19 |
| -
|
20 |
| - Explanation: |
21 |
| - Initially, we have the team 1 and the team 2, placed like: 1,2. |
22 |
| - Then we pair the team (1,2) together with '(', ')' and ',', which is the final answer. |
23 |
| -
|
24 |
| -
|
25 |
| - Example 2: |
26 |
| - Input: 4 |
27 |
| - Output: ((1,4),(2,3)) |
28 |
| -
|
29 |
| - Explanation: |
30 |
| - In the first round, we pair the team 1 and 4, the team 2 and 3 together, as we need to make the strong team and weak team together. |
31 |
| - And we got (1,4),(2,3). |
32 |
| - In the second round, the winners of (1,4) and (2,3) need to play again to generate the final winner, so you need to add the paratheses outside them. |
33 |
| - And we got the final answer ((1,4),(2,3)). |
34 |
| -
|
35 |
| -
|
36 |
| - Example 3: |
37 |
| - Input: 8 |
38 |
| - Output: (((1,8),(4,5)),((2,7),(3,6))) |
39 |
| -
|
40 |
| - Explanation: |
41 |
| - First round: (1,8),(2,7),(3,6),(4,5) |
42 |
| - Second round: ((1,8),(4,5)),((2,7),(3,6)) |
43 |
| - Third round: (((1,8),(4,5)),((2,7),(3,6))) |
44 |
| - Since the third round will generate the final winner, you need to output the answer (((1,8),(4,5)),((2,7),(3,6))). |
45 |
| -
|
46 |
| - Note: |
47 |
| - The n is in range [2, 212]. |
48 |
| - We ensure that the input n can be converted into the form 2k, where k is a positive integer. |
49 |
| - */ |
50 | 6 | public class _544 {
|
51 | 7 |
|
52 | 8 | public String findContestMatch(int n) {
|
|
0 commit comments