diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/README.md" index eb8de403f4855..6fbd254de46cb 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/README.md" @@ -168,6 +168,27 @@ impl Solution { } ``` +#### Swift + +```swift +class Solution { + func rob(_ nums: [Int]) -> Int { + let n = nums.count + if n == 0 { return 0 } + if n == 1 { return nums[0] } + + var f = Array(repeating: 0, count: n + 1) + f[1] = nums[0] + + for i in 2...n { + f[i] = max(f[i - 1], f[i - 2] + nums[i - 1]) + } + + return f[n] + } +} +``` + diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/Solution.swift" "b/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/Solution.swift" new file mode 100644 index 0000000000000..fb5eb31d3781c --- /dev/null +++ "b/lcof2/\345\211\221\346\214\207 Offer II 089. \346\210\277\345\261\213\345\201\267\347\233\227/Solution.swift" @@ -0,0 +1,16 @@ +class Solution { + func rob(_ nums: [Int]) -> Int { + let n = nums.count + if n == 0 { return 0 } + if n == 1 { return nums[0] } + + var f = Array(repeating: 0, count: n + 1) + f[1] = nums[0] + + for i in 2...n { + f[i] = max(f[i - 1], f[i - 2] + nums[i - 1]) + } + + return f[n] + } +} \ No newline at end of file