Skip to content

Instantly share code, notes, and snippets.

@NigelJu
NigelJu / PermutationsTest.swift
Last active July 18, 2018 13:35
PermutationsTest.swift
class Solution {
func permute(_ nums: [Int]) -> [[Int]] {
for num in nums {
let index = nums.index(of: num)!
var newNums = nums
newNums.remove(at: index)
dfs(a: [num], b: newNums)
}
return [[1]]
}
@NigelJu
NigelJu / LeetCode 7. Reverse Integer ( swift ).swift
Created July 16, 2018 12:03
LeetCode 7. Reverse Integer ( swift ).swift
class Solution {
func reverse(_ x: Int) -> Int {
let num = abs(x)
let str = String(String(num).reversed())
if let int = Int32(str) {
return x > 0 ? Int(int) : 0 - Int(int)
}
return 0
@NigelJu
NigelJu / LeetCode 290. Word Pattern (swift).swift
Created July 15, 2018 02:20
LeetCode 290. Word Pattern (swift).swift
class Solution {
func wordPattern(_ pattern: String, _ str: String) -> Bool {
let strArray = Array(str.split(separator: " "))
let patternArray = Array(pattern)
guard strArray.count == patternArray.count &&
Set(pattern).count == Set(strArray).count else { return false }
var mappingDict = [Character: Substring]()
@NigelJu
NigelJu / LeetCode 189. Rotate Array (swift) tmp2.swift
Created July 14, 2018 01:41
LeetCode 189. Rotate Array (swift) tmp2.swift
class Solution {
func rotate(_ nums: inout [Int], _ k: Int) {
var stepCount = k % nums.count
while stepCount > 0 && !nums.isEmpty {
nums.insert(nums.last!, at: 0)
nums.removeLast()
@NigelJu
NigelJu / LeetCode 189. Rotate Array (swift) loop.swift
Created July 14, 2018 01:00
LeetCode 189. Rotate Array (swift) loop.swift
class Solution {
func rotate(_ nums: inout [Int], _ k: Int) {
var newNums = nums
for index in 0 ..< newNums.count {
newNums[(index + k) % newNums.count] = nums[index]
}
nums = newNums
}
}
@NigelJu
NigelJu / LeetCode 189. Rotate Array (swift) tmp.swift
Created July 14, 2018 00:56
LeetCode 189. Rotate Array (swift) tmp.swift
class Solution {
func rotate(_ nums: inout [Int], _ k: Int) {
var stepCount = k
while stepCount > 0 && !nums.isEmpty {
nums.insert(nums.last!, at: 0)
nums.removeLast()
stepCount -= 1
}
}
@NigelJu
NigelJu / LeetCode 367. Valid Perfect Square (swift).swift
Created July 13, 2018 12:50
LeetCode 367. Valid Perfect Square (swift).swift
class Solution {
func isPerfectSquare(_ num: Int) -> Bool {
var base = 1
var tmp = 1
repeat {
tmp = base * base
base += 1
}while (tmp < num)
return tmp == num
}
@NigelJu
NigelJu / LeetCode 198. House Robber.swift
Created July 11, 2018 08:43
LeetCode 198. House Robber.swift
class Solution {
func rob(_ nums: [Int]) -> Int {
if (nums.count == 1)
{
return nums[0]
}
var now = 0
var last = 0
for i in 0..<nums.count
{
@NigelJu
NigelJu / LeetCode 520. Detect Capital (swift) Perfect .swift
Created July 11, 2018 00:06
LeetCode 520. Detect Capital (swift) Perfect .swift
class Solution {
func detectCapitalUse(_ word: String) -> Bool {
let isLowerCase = word.lowercased() == word
let isUpperCase = word.uppercased() == word
if isLowerCase || isUpperCase { return true }
var words = Array(word)
let isFirstCapital = String((words.first!)).uppercased() == String(words.first!)
@NigelJu
NigelJu / LeetCode 520. Detect Capital (swift).swift
Created July 10, 2018 23:43
LeetCode 520. Detect Capital (swift).swift
class Solution {
func detectCapitalUse(_ word: String) -> Bool {
var words = Array(word)
let isFirstCapital = String((words.first!)).uppercased() == String(words.first!)
let isLowerCase = word.lowercased() == word
let isUpperCase = word.uppercased() == word
if isLowerCase || isUpperCase { return true }