func swap(_ nums: inout [Int], _ p: Int, _ q: Int) { let temp = nums[p] nums[p] = nums[q] nums[q] = temp }
func swap<T>(_ nums: inout [T], _ p: Int, _ q: Int) { let temp = nums[p] nums[p] = nums[q] nums[q] = temp }
func swap<T>(_ nums: inout [T], _ p: Int, _ q: Int) { (nums[p], nums[q]) = (nums[q], nums[p]) }
同时对以上代码写上相应测试,检测各种边界情况,再确认无误后,才会说,这道题目我完成了。 这道题目看似简单,实际上考察了程序员的审题、交流、以及测试的意识。技术上考察了Swift的泛型和Tuple的性质。
这道题你会答吗?花几分钟告诉大家答案吧!
要设置一条...
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
好简单啊,直接写出以下结果
首先跟面试官沟通,是什么类型的数组?面试官会说,任意。普通程序员微微一笑,写出以下代码
与面试官沟通,是什么类型的数组?有什么其他要求和限制?面试官会说,这是一个Swift面试题。文艺程序员心领神会,于是写出以下答案
func swap<T>(_ nums: inout [T], _ p: Int, _ q: Int) { (nums[p], nums[q]) = (nums[q], nums[p]) }
同时对以上代码写上相应测试,检测各种边界情况,再确认无误后,才会说,这道题目我完成了。
这道题目看似简单,实际上考察了程序员的审题、交流、以及测试的意识。技术上考察了Swift的泛型和Tuple的性质。