Skip to content

Commit 1fa3fd3

Browse files
committed
create 0179 in rust ,scala, swift
1 parent 88ceee7 commit 1fa3fd3

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

rust/0179-largest-number.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
impl Solution {
2+
pub fn largest_number(nums: Vec<i32>) -> String {
3+
let mut v: Vec<String> = nums.iter().map(|&num| num.to_string()).collect();
4+
v.sort_by(|a: &String, b: &String| (b.clone() + a).cmp(&(a.clone() + b)));
5+
if v[0] == "0" {
6+
String::from("0")
7+
} else {
8+
v.join("")
9+
}
10+
}
11+
}

scala/0179-largest-number.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
object Solution {
2+
def largestNumber(nums: Array[Int]): String = {
3+
BigInt(nums.map(_.toString).sortWith((l, r) => l ++ r >= r ++ l).foldLeft("")(_ + _)).toString
4+
}
5+
}

swift/0179-largest-number.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class Solution {
2+
func largestNumber(_ nums: [Int]) -> String {
3+
return nums.reduce(into: Bool(false), { $0 = $0 || $1 > 0 }) ? nums.map { String($0) }.sorted { $0 + $1 > $1 + $0 }.joined() : "0"
4+
}
5+
}

0 commit comments

Comments
 (0)