File tree Expand file tree Collapse file tree 6 files changed +119
-2
lines changed
solution/1900-1999/1985.Find the Kth Largest Integer in the Array Expand file tree Collapse file tree 6 files changed +119
-2
lines changed Original file line number Diff line number Diff line change @@ -59,22 +59,65 @@ nums 中的数字按非递减顺序排列为 ["0","0"]
59
59
60
60
<!-- 这里可写通用的实现逻辑 -->
61
61
62
+ ** 方法一:自定义排序**
63
+
62
64
<!-- tabs:start -->
63
65
64
66
### ** Python3**
65
67
66
68
<!-- 这里可写当前语言的特殊实现逻辑 -->
67
69
68
70
``` python
69
-
71
+ class Solution :
72
+ def kthLargestNumber (self , nums : List[str ], k : int ) -> str :
73
+ def cmp (a , b ):
74
+ if len (a) != len (b):
75
+ return len (b) - len (a)
76
+ return 1 if b > a else - 1
77
+
78
+ nums.sort(key = cmp_to_key(cmp ))
79
+ return nums[k - 1 ]
70
80
```
71
81
72
82
### ** Java**
73
83
74
84
<!-- 这里可写当前语言的特殊实现逻辑 -->
75
85
76
86
``` java
87
+ class Solution {
88
+ public String kthLargestNumber (String [] nums , int k ) {
89
+ Arrays . sort(nums, (a, b) - > a. length() == b. length() ? b. compareTo(a) : b. length() - a. length());
90
+ return nums[k - 1 ];
91
+ }
92
+ }
93
+ ```
94
+
95
+ ### ** C++**
96
+
97
+ ``` cpp
98
+ class Solution {
99
+ public:
100
+ string kthLargestNumber(vector<string >& nums, int k) {
101
+ auto cmp = [ ] (const string& a, const string& b) { return a.size() == b.size() ? a > b : a.size() > b.size(); };
102
+ sort(nums.begin(), nums.end(), cmp);
103
+ return nums[ k - 1] ;
104
+ }
105
+ };
106
+ ```
77
107
108
+ ### **Go**
109
+
110
+ ```go
111
+ func kthLargestNumber(nums []string, k int) string {
112
+ sort.Slice(nums, func(i, j int) bool {
113
+ a, b := nums[i], nums[j]
114
+ if len(a) == len(b) {
115
+ return a > b
116
+ }
117
+ return len(a) > len(b)
118
+ })
119
+ return nums[k-1]
120
+ }
78
121
```
79
122
80
123
### ** ...**
Original file line number Diff line number Diff line change @@ -58,13 +58,54 @@ The 2<sup>nd</sup> largest integer in nums is "0".
58
58
### ** Python3**
59
59
60
60
``` python
61
-
61
+ class Solution :
62
+ def kthLargestNumber (self , nums : List[str ], k : int ) -> str :
63
+ def cmp (a , b ):
64
+ if len (a) != len (b):
65
+ return len (b) - len (a)
66
+ return 1 if b > a else - 1
67
+
68
+ nums.sort(key = cmp_to_key(cmp ))
69
+ return nums[k - 1 ]
62
70
```
63
71
64
72
### ** Java**
65
73
66
74
``` java
75
+ class Solution {
76
+ public String kthLargestNumber (String [] nums , int k ) {
77
+ Arrays . sort(nums, (a, b) - > a. length() == b. length() ? b. compareTo(a) : b. length() - a. length());
78
+ return nums[k - 1 ];
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### ** C++**
84
+
85
+ ``` cpp
86
+ class Solution {
87
+ public:
88
+ string kthLargestNumber(vector<string >& nums, int k) {
89
+ auto cmp = [ ] (const string& a, const string& b) { return a.size() == b.size() ? a > b : a.size() > b.size(); };
90
+ sort(nums.begin(), nums.end(), cmp);
91
+ return nums[ k - 1] ;
92
+ }
93
+ };
94
+ ```
67
95
96
+ ### **Go**
97
+
98
+ ```go
99
+ func kthLargestNumber(nums []string, k int) string {
100
+ sort.Slice(nums, func(i, j int) bool {
101
+ a, b := nums[i], nums[j]
102
+ if len(a) == len(b) {
103
+ return a > b
104
+ }
105
+ return len(a) > len(b)
106
+ })
107
+ return nums[k-1]
108
+ }
68
109
```
69
110
70
111
### ** ...**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ string kthLargestNumber (vector<string>& nums, int k) {
4
+ auto cmp = [](const string& a, const string& b) { return a.size () == b.size () ? a > b : a.size () > b.size (); };
5
+ sort (nums.begin (), nums.end (), cmp);
6
+ return nums[k - 1 ];
7
+ }
8
+ };
Original file line number Diff line number Diff line change
1
+ func kthLargestNumber (nums []string , k int ) string {
2
+ sort .Slice (nums , func (i , j int ) bool {
3
+ a , b := nums [i ], nums [j ]
4
+ if len (a ) == len (b ) {
5
+ return a > b
6
+ }
7
+ return len (a ) > len (b )
8
+ })
9
+ return nums [k - 1 ]
10
+ }
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public String kthLargestNumber (String [] nums , int k ) {
3
+ Arrays .sort (nums , (a , b ) -> a .length () == b .length () ? b .compareTo (a ) : b .length () - a .length ());
4
+ return nums [k - 1 ];
5
+ }
6
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def kthLargestNumber (self , nums : List [str ], k : int ) -> str :
3
+ def cmp (a , b ):
4
+ if len (a ) != len (b ):
5
+ return len (b ) - len (a )
6
+ return 1 if b > a else - 1
7
+
8
+ nums .sort (key = cmp_to_key (cmp ))
9
+ return nums [k - 1 ]
You can’t perform that action at this time.
0 commit comments