This repository was archived by the owner on Sep 20, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 164
/
Copy pathmaximum-width-ramp_test.go
executable file
·56 lines (45 loc) · 5.42 KB
/
maximum-width-ramp_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package problem0962
import (
"testing"
"github.com/stretchr/testify/assert"
)
// tcs is testcase slice
var tcs = []struct {
A []int
ans int
}{
{
[]int{6, 7, 8, 8, 6, 5, 5, 8, 2, 2},
7,
},
{
[]int{312, 433, 973, 998, 384, 703, 589, 547, 234, 781, 447, 22, 865, 613, 683, 851, 564, 845, 430, 440, 898, 383, 244, 643, 808, 304, 650, 847, 314, 378, 494, 487, 417, 323, 837, 570, 799, 460, 2, 903, 83, 226, 835, 146, 666, 154, 602, 705, 336, 40, 801, 19, 448, 726, 539, 72, 511, 694, 527, 79, 69, 394, 875, 415, 942, 756, 398, 347, 899, 228, 952, 119, 187, 92, 335, 64, 577, 929, 100, 933, 893, 513, 799, 742, 913, 928, 400, 450, 289, 67, 434, 853, 817, 967, 452, 796, 309, 188, 728, 497, 977, 726, 618, 987, 445, 395, 636, 209, 285, 788, 63, 329, 289, 826, 2, 450, 990, 126, 394, 380, 438, 900, 738, 549, 625, 657, 732, 700, 768, 523, 711, 328, 337, 179, 960, 660, 873, 739, 247, 326, 608, 281, 337, 337, 578, 441, 185, 199, 379, 292, 963, 724, 424, 252, 594, 110, 227, 921, 538, 849, 212, 22, 898, 163, 132, 911, 91, 206, 183, 879, 723, 919, 276, 257, 734, 395, 122, 104, 818, 987, 554, 679, 373, 127, 953, 847, 443, 509, 471, 657, 53, 686, 532, 393, 596, 918, 643, 777, 192, 10, 512, 490, 371, 363, 67, 861, 898, 555, 942, 35, 725, 584, 941, 767, 340, 89, 702, 207, 195, 386, 510, 233, 80, 434, 940, 804, 767, 618, 382, 310, 977, 527, 683, 8, 46, 233, 712, 310, 847, 111, 545, 405, 224, 29, 126, 407, 623, 466, 775, 131, 364, 588, 591, 982, 902, 354, 871, 554, 808, 118, 993, 176, 496, 903, 350, 370, 749, 941, 581, 988, 532, 984, 537, 404, 297, 750, 654, 580, 162, 976, 42, 153, 694, 194, 235, 773, 291, 102, 556, 795, 457, 113, 466, 432, 569, 2, 206, 746, 94, 77, 712, 758, 550, 451, 107, 493, 695, 386, 615, 767, 560, 175, 65, 599, 314, 77, 175, 611, 550, 210, 457, 122, 769, 411, 330, 163, 692, 504, 475, 297, 618, 360, 875, 291, 933, 766, 394, 965, 447, 478, 85, 577, 123, 445, 584, 525, 634, 883, 221, 618, 69, 167, 907, 751, 176, 375, 491, 780, 677, 696, 106, 317, 406, 29, 546, 457, 870, 621, 868, 951, 442, 570, 958, 331, 346, 194, 378, 944, 400, 739, 120, 665, 403, 267, 952, 71, 833, 486, 322, 494, 333, 402, 315, 159, 429, 104, 606, 0, 922, 745, 419, 45, 313, 99, 396, 928, 246, 139, 88, 55, 239, 158, 487, 313, 409, 708, 107, 967, 6, 192, 301, 100, 25, 121, 596, 233, 669, 571, 614, 662, 149, 715, 505, 558, 817, 122, 269, 643, 584, 137, 749, 846, 605, 33, 897, 233, 349, 209, 991, 932, 448, 699, 310, 223, 460, 501, 751, 605, 694, 970, 0, 758, 540, 261, 4, 458, 89, 75, 565, 63, 672, 306, 149, 452, 163, 971, 392, 603, 590, 134, 250, 47, 738, 472, 17, 160, 855, 80, 499, 950, 338, 355, 241, 599, 580, 666, 901, 21, 999, 197, 695, 771, 599, 278, 883, 334, 385, 482, 286, 62, 968, 149, 29, 259, 889, 890, 265, 882, 436, 397, 160, 268, 973, 57, 284, 296, 576, 242, 836, 204, 344, 782, 539, 327, 542, 795, 825, 813, 475, 430, 145, 481, 508, 613, 348, 954, 827, 258, 469, 417, 933, 629, 242, 90, 425, 686, 494, 47, 202, 320, 804, 834, 3, 914, 722, 798, 868, 48, 595, 973, 533, 786, 834, 852, 621, 45, 458, 953, 347, 390, 135, 405, 596, 47, 112, 433, 854, 522, 575, 961, 18, 131, 445, 964, 237, 893, 279, 237, 415, 741, 712, 832, 428, 190, 288, 291, 648, 724, 583, 952, 575, 893, 250, 221, 471, 128, 921, 200, 855, 684, 258, 835, 86, 689, 777, 122, 974, 115, 575, 196, 739, 996, 572, 355, 202, 280, 333, 650, 520, 286, 409, 174, 976, 852, 335, 812, 147, 297, 666, 828, 234, 763, 61, 132, 550, 124, 105, 511, 438, 997, 199, 31, 471, 760, 134, 283, 283, 494, 312, 405, 767, 225, 944, 214, 512, 206, 738, 720, 833, 212, 65, 225, 495, 380, 71, 852, 309, 345, 723, 857, 825, 109, 649, 901, 356, 324, 903, 654, 953, 180, 777, 142, 321, 929, 654, 583, 145, 878, 632, 519, 648, 766, 64, 239, 892, 898, 498, 883, 645, 567, 307, 342, 356, 97, 882, 548, 589, 780, 755, 672, 768, 494, 175, 379, 155, 115, 121, 148, 887, 876, 49, 898, 81, 617, 976, 401, 781, 308, 220, 74, 698, 569, 976, 407, 500, 389, 18, 69, 344, 712, 37, 198, 398, 708, 982, 500, 407, 632, 39, 900, 967, 675, 730, 69, 266, 75, 158, 732, 854, 34, 697, 528, 936, 721, 329, 460, 891, 595, 902, 774, 306, 109, 51, 253, 597, 648, 318, 571, 419, 915, 266, 803, 39, 851, 369, 482, 857, 616, 858, 301, 978, 389, 888, 594, 609, 843, 919, 349, 283, 112, 270, 118, 644, 598, 424, 431, 559, 475, 43, 784, 49, 451, 224, 869, 582, 789, 140, 443, 975, 190, 313, 621, 480, 502, 349, 55, 945, 596, 725, 115, 104, 155, 29, 396, 104, 258, 702, 753, 572, 948, 936, 570, 458, 310, 253, 951, 46, 814, 257, 156, 140, 40, 438, 682, 657, 833, 920, 514, 473, 21, 920, 267, 318, 297, 296, 86, 650, 481, 480, 225, 547, 265, 747, 994, 36, 0, 584, 982, 181, 680, 141, 505, 2, 298, 83, 901, 513, 66, 242, 787, 961, 851, 516, 638, 697, 38, 234, 771, 542, 89, 947, 682, 799, 338, 358, 695, 395, 440, 892, 357, 546, 518, 468, 874, 456, 654, 716, 369, 325, 621, 943, 314, 225, 664, 423, 413, 461, 485, 56, 77, 524, 626, 89, 670, 792, 607, 553, 860, 673, 300, 248, 375, 76, 417, 865, 236, 274, 129, 658, 954, 167, 52, 594, 308, 22, 758, 539, 477, 599, 695, 310, 947, 945, 428, 844, 812, 920, 146, 684, 418, 466, 239, 537, 800, 918, 577, 515, 502, 708, 366},
999,
},
{
[]int{2, 3, 1, 4},
3,
},
{
[]int{6, 0, 8, 2, 1, 5},
4,
},
{
[]int{9, 8, 1, 0, 1, 9, 4, 0, 4, 1},
7,
},
// 可以有多个 testcase
}
func Test_maxWidthRamp(t *testing.T) {
ast := assert.New(t)
for _, tc := range tcs {
ast.Equal(tc.ans, maxWidthRamp(tc.A), "输入:%v", tc)
}
}
func Benchmark_maxWidthRamp(b *testing.B) {
for i := 0; i < b.N; i++ {
for _, tc := range tcs {
maxWidthRamp(tc.A)
}
}
}