Problem Statement
You are given three positive integers: the
More formally, you have an expression of the form | (xa / xb) - xc |. Here, "/" denotes real division (e.g., 7/2 = 3.5), and "||" denotes absolute value. Your task is to choose three distinct subscripts a, b, c so that the value of the expression is as small as possible.
Return a
Definition
- Class:
- MinimizeAbsoluteDifferenceDiv2
- Method:
- findTriple
- Parameters:
- int, int, int
- Returns:
- int[]
- Method signature:
- int[] findTriple(int x0, int x1, int x2)
- (be sure your method is public)
Constraints
- x0 will be between 1 and 10,000, inclusive.
- x1 will be between 1 and 10,000, inclusive.
- x2 will be between 1 and 10,000, inclusive.
Examples
1
1
1
Returns: {0, 1, 2 }
Regardless of our choice of subscripts, the expression is always evaluated to |(1/1) - 1| = 0. Any of the six permutations of {0, 1, 2} is a correct answer.
1
2
3
Returns: {1, 2, 0 }
The return value {1, 2, 0} corresponds to the expression |(x1 / x2) - x0| = |2/3 - 1| = 1/3 = 0.333333. This is the only optimal choice of {a, b, c}, all other choices produce expressions with a larger value.
7
20
5
Returns: {1, 0, 2 }
This set of subscripts produces an expression with the value 15/7.
6
2
3
Returns: {0, 1, 2 }
There are two correct answers: {0, 1, 2} and {0, 2, 1}. You may return either of them.
10
11
111
Returns: {2, 1, 0 }
34
90
4
Returns: {1, 0, 2 }
53
86
99
Returns: {2, 1, 0 }
35
22
77
Returns: {2, 0, 1 }
50
93
97
Returns: {2, 1, 0 }
36
96
29
Returns: {1, 0, 2 }
61
70
82
Returns: {2, 1, 0 }
93
11
34
Returns: {0, 2, 1 }
34
27
44
Returns: {2, 0, 1 }
41
19
72
Returns: {2, 0, 1 }
14
75
48
Returns: {1, 2, 0 }
67
88
45
Returns: {1, 0, 2 }
25
23
73
Returns: {2, 0, 1 }
43
1
20
Returns: {2, 0, 1 }
54
24
51
Returns: {0, 2, 1 }
93
42
88
Returns: {0, 2, 1 }
15
21
45
Returns: {2, 1, 0 }
45
91
31
Returns: {1, 0, 2 }
89
14
7
Returns: {0, 1, 2 }
70
19
27
Returns: {0, 2, 1 }
94
41
63
Returns: {0, 2, 1 }
418
450
428
Returns: {1, 2, 0 }
613
820
508
Returns: {1, 0, 2 }
445
137
965
Returns: {2, 0, 1 }
640
493
425
Returns: {0, 1, 2 }
795
936
539
Returns: {1, 0, 2 }
694
653
648
Returns: {0, 1, 2 }
316
788
608
Returns: {1, 2, 0 }
868
318
448
Returns: {0, 2, 1 }
520
935
528
Returns: {1, 2, 0 }
514
524
643
Returns: {2, 1, 0 }
263
740
390
Returns: {1, 2, 0 }
543
903
755
Returns: {1, 2, 0 }
157
686
369
Returns: {1, 2, 0 }
254
906
883
Returns: {1, 2, 0 }
621
242
358
Returns: {0, 2, 1 }
286
878
582
Returns: {1, 2, 0 }
761
348
487
Returns: {0, 2, 1 }
323
614
165
Returns: {1, 0, 2 }
824
345
277
Returns: {0, 1, 2 }
435
535
934
Returns: {2, 1, 0 }
478
701
299
Returns: {1, 0, 2 }
564
920
64
Returns: {1, 0, 2 }
838
91
883
Returns: {2, 0, 1 }
929
773
461
Returns: {0, 1, 2 }
548
987
465
Returns: {1, 0, 2 }
150
483
106
Returns: {1, 0, 2 }
199
767
672
Returns: {1, 2, 0 }
505
740
14
Returns: {1, 0, 2 }
540
751
114
Returns: {1, 0, 2 }
255
387
144
Returns: {1, 0, 2 }
2543
2202
6640
Returns: {2, 0, 1 }
5561
9136
8314
Returns: {1, 2, 0 }
5279
2613
9542
Returns: {2, 0, 1 }
8862
8441
3643
Returns: {0, 1, 2 }
5504
6295
6843
Returns: {2, 1, 0 }
9874
9746
7590
Returns: {0, 1, 2 }
5787
5193
7353
Returns: {2, 0, 1 }
3455
9988
413
Returns: {1, 0, 2 }
5937
9065
5178
Returns: {1, 0, 2 }
4045
4221
3832
Returns: {1, 0, 2 }
4051
3197
7860
Returns: {2, 0, 1 }
8508
1666
1981
Returns: {0, 2, 1 }
5117
833
3000
Returns: {0, 2, 1 }
994
141
7694
Returns: {2, 0, 1 }
4369
8866
6292
Returns: {1, 2, 0 }
5962
3796
8251
Returns: {2, 0, 1 }
7421
4699
8118
Returns: {2, 0, 1 }
9194
6943
3887
Returns: {0, 1, 2 }
3020
216
5216
Returns: {2, 0, 1 }
8165
4850
3555
Returns: {0, 1, 2 }
2462
2973
9948
Returns: {2, 1, 0 }
2346
3628
7705
Returns: {2, 1, 0 }
561
7670
1216
Returns: {1, 2, 0 }
8407
4087
7325
Returns: {0, 2, 1 }
8827
3621
5610
Returns: {0, 2, 1 }
8571
7498
4041
Returns: {0, 1, 2 }
6864
20
853
Returns: {0, 2, 1 }
2127
1550
9838
Returns: {2, 0, 1 }
7913
3851
4199
Returns: {0, 2, 1 }
8382
12
6902
Returns: {0, 2, 1 }
9339
2002
5267
Returns: {0, 2, 1 }
2052
3348
1548
Returns: {1, 0, 2 }
7336
3679
7768
Returns: {2, 0, 1 }
5783
1185
7674
Returns: {2, 0, 1 }
8579
9961
5500
Returns: {1, 0, 2 }
8782
8177
4762
Returns: {0, 1, 2 }
1604
4617
1681
Returns: {1, 2, 0 }
8048
9767
4852
Returns: {1, 0, 2 }
7585
9196
9735
Returns: {2, 1, 0 }
6434
4369
9266
Returns: {2, 0, 1 }
3392
5264
5759
Returns: {2, 1, 0 }
3360
5161
4495
Returns: {1, 2, 0 }
2622
5811
7649
Returns: {2, 1, 0 }
9580
6797
4504
Returns: {0, 1, 2 }
4897
4895
7644
Returns: {2, 0, 1 }
3531
5340
4881
Returns: {1, 2, 0 }
3317
7161
5481
Returns: {1, 2, 0 }
7003
1686
3819
Returns: {0, 2, 1 }
8272
7857
3668
Returns: {0, 1, 2 }
2188
6858
3871
Returns: {1, 2, 0 }
9713
9458
8940
Returns: {0, 1, 2 }
9916
7494
9048
Returns: {0, 2, 1 }
7468
7476
5291
Returns: {1, 0, 2 }
9745
8166
7761
Returns: {0, 1, 2 }
8756
6761
9363
Returns: {2, 0, 1 }
5665
6541
6013
Returns: {1, 2, 0 }
9283
8403
9198
Returns: {0, 2, 1 }
5272
5485
6820
Returns: {2, 1, 0 }
7820
8738
9567
Returns: {2, 1, 0 }
9620
8477
7878
Returns: {0, 1, 2 }
9433
9353
7941
Returns: {0, 1, 2 }
8047
9854
9172
Returns: {1, 2, 0 }
8162
5594
8268
Returns: {2, 0, 1 }
7301
8148
7257
Returns: {1, 0, 2 }
9089
8986
7152
Returns: {0, 1, 2 }
5268
5244
5619
Returns: {2, 0, 1 }
5486
7683
5026
Returns: {1, 0, 2 }
6870
7412
9127
Returns: {2, 1, 0 }
8338
7733
8505
Returns: {2, 0, 1 }
5383
5666
6785
Returns: {2, 1, 0 }
9331
9210
9260
Returns: {0, 2, 1 }
9023
9447
9051
Returns: {1, 2, 0 }
9689
9087
9772
Returns: {2, 0, 1 }
9046
9259
9751
Returns: {2, 1, 0 }
9117
9772
9850
Returns: {2, 1, 0 }
9878
9547
9514
Returns: {0, 1, 2 }
9494
9023
9046
Returns: {0, 2, 1 }
9113
9154
9086
Returns: {1, 0, 2 }
9451
9995
9958
Returns: {1, 2, 0 }
9393
9726
9314
Returns: {1, 0, 2 }
9649
9360
9833
Returns: {2, 0, 1 }
9179
9447
9266
Returns: {1, 2, 0 }
9401
9285
9877
Returns: {2, 0, 1 }
9299
9344
9310
Returns: {1, 2, 0 }
9451
9160
9468
Returns: {2, 0, 1 }
9384
9416
9243
Returns: {1, 0, 2 }
9754
9957
9284
Returns: {1, 0, 2 }
9139
9922
9583
Returns: {1, 2, 0 }
9490
9571
9351
Returns: {1, 0, 2 }
9642
9194
9877
Returns: {2, 0, 1 }
9127
9455
9320
Returns: {1, 2, 0 }
9363
9192
9249
Returns: {0, 2, 1 }
9706
9413
9421
Returns: {0, 2, 1 }
9996
9926
9433
Returns: {0, 1, 2 }
9656
9558
9518
Returns: {0, 1, 2 }
9625
9590
9410
Returns: {0, 1, 2 }
9752
9362
9899
Returns: {2, 0, 1 }
9503
9005
9318
Returns: {0, 2, 1 }
9588
9267
9082
Returns: {0, 1, 2 }
9503
9118
9801
Returns: {2, 0, 1 }
10
10
10
Returns: {0, 1, 2 }
1
2
1
Returns: {0, 1, 2 }
7
2
5
Returns: {0, 2, 1 }
3
1
2
Returns: {2, 0, 1 }