gpt4 book ai didi

algorithm - 如果你得到 7 则返回 3 的所有方法,反之亦然 - 面试问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:44:21 25 4
gpt4 key购买 nike

这是我在面试中被问到的一个问题:
实现一个获取整数 n 并执行以下操作的函数:
1. 如果 n 为 3 -> 返回 7。
2. 否则如果 n 是 7 -> 返回 3。
3.否则返回你喜欢的任何数字(未定义的行为)。

还描述了每种方式的运行时间和空间复杂度。

所以首先我给出了使用 if-else 语句的简单方法 - 并说它是 O(1) 运行时 + 空间复杂度。然后面试官说:“如果你不能使用if语句怎么办(包括switch-case和其他if语句的相似之处)?”

所以我建议使用按位运算:return n^=4。据说它是 O(1) 运行时 + 空间复杂度。然后面试官说:“如果你不会用位运算怎么办?”

所以我建议使用这样的数组:

int mem[8] = {-1, -1, -1, 7, -1, -1, -1, 3}; 
return mem[n];

说它是 O(1) 运行时复杂度 + 空间复杂度,但是如果我们有大数而不是 3 可能效率不高7

然后面试官说:“如果你不会用数组怎么办?” - 在这里我被困住了。

似乎还有第四种方法……有什么建议吗?

最佳答案

怎么样

def foo(n)
return 10 - n
end


foo(3) => 7
foo(7) => 3

关于algorithm - 如果你得到 7 则返回 3 的所有方法,反之亦然 - 面试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53523148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com