1
+ import com .eclipsesource .json .JsonArray ;
2
+
3
+ import java .io .BufferedReader ;
4
+ import java .io .IOException ;
5
+ import java .io .InputStreamReader ;
6
+
7
+ /**
8
+ *
9
+ */
10
+ class SolutionGraph {
11
+ public int findJudge (int N , int [][] trust ) {
12
+ //记录每个人被人相信的次数
13
+ int [] outgoing = new int [N +1 ];
14
+ //记录每个人相信别人的次数
15
+ int [] incoming = new int [N +1 ];
16
+ for (int i =0 ; i <trust .length ; i ++) {
17
+ int o = trust [i ][0 ];
18
+ int in = trust [i ][1 ];
19
+ outgoing [o ] += 1 ;
20
+ incoming [in ] += 1 ;
21
+ }
22
+ for (int i =1 ; i <N +1 ; i ++) {
23
+ //相信i的人N-1个且i相信的人为0
24
+ if (incoming [i ] == N -1 && outgoing [i ] == 0 )
25
+ return i ;
26
+ }
27
+ return -1 ;
28
+ }
29
+ }
30
+
31
+ public class TestGraph {
32
+ public static int [] stringToIntegerArray (String input ) {
33
+ input = input .trim ();
34
+ input = input .substring (1 , input .length () - 1 );
35
+ if (input .length () == 0 ) {
36
+ return new int [0 ];
37
+ }
38
+
39
+ String [] parts = input .split ("," );
40
+ int [] output = new int [parts .length ];
41
+ for (int index = 0 ; index < parts .length ; index ++) {
42
+ String part = parts [index ].trim ();
43
+ output [index ] = Integer .parseInt (part );
44
+ }
45
+ return output ;
46
+ }
47
+
48
+ public static int [][] stringToInt2dArray (String input ) {
49
+ JsonArray jsonArray = JsonArray .readFrom (input );
50
+ if (jsonArray .size () == 0 ) {
51
+ return new int [0 ][0 ];
52
+ }
53
+
54
+ int [][] arr = new int [jsonArray .size ()][];
55
+ for (int i = 0 ; i < arr .length ; i ++) {
56
+ JsonArray cols = jsonArray .get (i ).asArray ();
57
+ arr [i ] = stringToIntegerArray (cols .toString ());
58
+ }
59
+ return arr ;
60
+ }
61
+
62
+ public static void main (String [] args ) throws IOException {
63
+ BufferedReader in = new BufferedReader (new InputStreamReader (System .in ));
64
+ String line ;
65
+ while ((line = in .readLine ()) != null ) {
66
+ int N = Integer .parseInt (line );
67
+ line = in .readLine ();
68
+ int [][] trust = stringToInt2dArray (line );
69
+ int ret = new SolutionGraph ().findJudge (N , trust );
70
+ String out = String .valueOf (ret );
71
+ System .out .print (out );
72
+ }
73
+ }
74
+ }
0 commit comments