my_leetcode/swift/Sources/my_leetcode/Solution.swift

31 lines
832 B
Swift

//
// Created by Huang on 2021/9/30.
//
import Foundation
class Solution {
func mySqrt(_ x: Int) -> Int {
let x_half = 0.5 * Double(x)
var i: UInt64 = Double(x).bitPattern
i = 0x5FE6EC85E7DE30DA - (i >> 1)
var f: Double = Double.init(bitPattern: i)
f = f * (1.5 - x_half * f * f)
f = f * (1.5 - x_half * f * f)
f = f * (1.5 - x_half * f * f)
return Int(1.0 / f)
}
/**
1486.
- Parameters:
- n:
- start:
- Returns:
*/
func xorOperation(_ n: Int, _ start: Int) -> Int {
return (start & 3) < 2 ? ((n & 1) == 0) ? (n & 3) : (start + 2 * n - 3 + (n & 3)) : ((n & 1) == 0) ? ((start + (n - 1) * 2) ^ (start - 2 + (n & 3))) : (start + 1 - (n & 3))
}
}