From c21ad3fb9f560b6812bc475e8c8fb1557758858a Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Fri, 26 Apr 2024 08:47:34 +0100 Subject: [PATCH 1/2] Swift Implementation for LCCI 05.07 --- lcci/05.07.Exchange/README.md | 12 ++++++++++++ lcci/05.07.Exchange/README_EN.md | 12 ++++++++++++ lcci/05.07.Exchange/Solution.swift | 9 +++++++++ 3 files changed, 33 insertions(+) create mode 100644 lcci/05.07.Exchange/Solution.swift diff --git a/lcci/05.07.Exchange/README.md b/lcci/05.07.Exchange/README.md index 3539335ae4dd7..fc03f52100dfb 100644 --- a/lcci/05.07.Exchange/README.md +++ b/lcci/05.07.Exchange/README.md @@ -81,6 +81,18 @@ impl Solution { } ``` +```swift +class Solution { + func exchangeBits(_ num: Int) -> Int { + let oddShifted = (num & 0x55555555) << 1 + + let evenShifted = (num & 0xaaaaaaaa) >> 1 + + return oddShifted | evenShifted + } +} +``` + diff --git a/lcci/05.07.Exchange/README_EN.md b/lcci/05.07.Exchange/README_EN.md index ad9d93d17bd10..f21e6cdab5121 100644 --- a/lcci/05.07.Exchange/README_EN.md +++ b/lcci/05.07.Exchange/README_EN.md @@ -87,6 +87,18 @@ impl Solution { } ``` +```swift +class Solution { + func exchangeBits(_ num: Int) -> Int { + let oddShifted = (num & 0x55555555) << 1 + + let evenShifted = (num & 0xaaaaaaaa) >> 1 + + return oddShifted | evenShifted + } +} +``` + diff --git a/lcci/05.07.Exchange/Solution.swift b/lcci/05.07.Exchange/Solution.swift new file mode 100644 index 0000000000000..e2366e83fc69a --- /dev/null +++ b/lcci/05.07.Exchange/Solution.swift @@ -0,0 +1,9 @@ +class Solution { + func exchangeBits(_ num: Int) -> Int { + let oddShifted = (num & 0x55555555) << 1 + + let evenShifted = (num & 0xaaaaaaaa) >> 1 + + return oddShifted | evenShifted + } +} \ No newline at end of file From 4372d13dbc7de9e099466de6a7a0985e9068a28b Mon Sep 17 00:00:00 2001 From: klever34 Date: Fri, 26 Apr 2024 07:52:14 +0000 Subject: [PATCH 2/2] style: format code and docs with prettier --- lcci/05.07.Exchange/README.md | 4 ++-- lcci/05.07.Exchange/README_EN.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lcci/05.07.Exchange/README.md b/lcci/05.07.Exchange/README.md index fc03f52100dfb..4610acec9a67b 100644 --- a/lcci/05.07.Exchange/README.md +++ b/lcci/05.07.Exchange/README.md @@ -85,9 +85,9 @@ impl Solution { class Solution { func exchangeBits(_ num: Int) -> Int { let oddShifted = (num & 0x55555555) << 1 - + let evenShifted = (num & 0xaaaaaaaa) >> 1 - + return oddShifted | evenShifted } } diff --git a/lcci/05.07.Exchange/README_EN.md b/lcci/05.07.Exchange/README_EN.md index f21e6cdab5121..fed05c4ebdbfe 100644 --- a/lcci/05.07.Exchange/README_EN.md +++ b/lcci/05.07.Exchange/README_EN.md @@ -91,9 +91,9 @@ impl Solution { class Solution { func exchangeBits(_ num: Int) -> Int { let oddShifted = (num & 0x55555555) << 1 - + let evenShifted = (num & 0xaaaaaaaa) >> 1 - + return oddShifted | evenShifted } }