From fdc277fa840d9ea7a4460e2b68a8ec7d772960d6 Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Tue, 13 Aug 2024 07:26:10 +0100 Subject: [PATCH] feat: add swift implementation to lcof2 problem: No.075 --- .../README.md" | 32 +++++++++++++++++++ .../Solution.swift" | 26 +++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 "lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/Solution.swift" diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/README.md" index 979fe1952d23a..d155e123ddd32 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/README.md" @@ -167,6 +167,38 @@ class Solution: return arr1 ``` +#### Swift + +```swift +class Solution { + func relativeSortArray(_ arr1: [Int], _ arr2: [Int]) -> [Int] { + var frequency = [Int](repeating: 0, count: 1001) + var result = [Int]() + + for num in arr1 { + frequency[num] += 1 + } + + for num in arr2 { + while frequency[num] > 0 { + result.append(num) + frequency[num] -= 1 + } + } + + for num in 0.. 0 { + result.append(num) + frequency[num] -= 1 + } + } + + return result + } +} + +``` + diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/Solution.swift" "b/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/Solution.swift" new file mode 100644 index 0000000000000..1ae46ba9280c4 --- /dev/null +++ "b/lcof2/\345\211\221\346\214\207 Offer II 075. \346\225\260\347\273\204\347\233\270\345\257\271\346\216\222\345\272\217/Solution.swift" @@ -0,0 +1,26 @@ +class Solution { + func relativeSortArray(_ arr1: [Int], _ arr2: [Int]) -> [Int] { + var frequency = [Int](repeating: 0, count: 1001) + var result = [Int]() + + for num in arr1 { + frequency[num] += 1 + } + + for num in arr2 { + while frequency[num] > 0 { + result.append(num) + frequency[num] -= 1 + } + } + + for num in 0.. 0 { + result.append(num) + frequency[num] -= 1 + } + } + + return result + } +}