TA的每日心情 | 奋斗 2018-9-13 10:09 |
---|
签到天数: 1 天 [LV.1]炼气
|
本帖最后由 晨池 于 2023-3-19 19:28 编辑
书接上文:http://www.aswetalk.net/bbs/foru ... d=157112&extra=
申请了文心一言的验证码,试了试感觉它参加面试的话,会被当场赶走。
好消息是,这肯定是百度自研的,坏消息是这个水平差距太大了,不知道还有没有赶得上的希望。
要求写一个函数,传入参数是一个数组,这个数组长度为2* n + 1,包括有n+1个数字,其中n个数字出现2次,1个数字只出现一次。返回只出现一次的数字。
- def singleNumber(nums):
-
- cnt = Counter(nums)
-
- return sum(cnt[v] == 1 for v in cnt)
复制代码
结果:没有给出最优解,Python我也不太懂,就当对了吧。
写一个类来表达分数,比如2/3,要求:
1、实现加减乘除 2/3 + 4/5 = 22/15
2、化简分数到最简形式,不要求使用辗转相除,用自己想的思路,如果使用辗转相除需要给出证明为什么可以化简 9/6 => 3/2
3、toString输出成为字符串形式
注意越界、分母为0的处理方式
- class Divide:
-
- def __init__(self):
-
- self.num1 = 0
-
- self.num2 = 0
-
- self.num3 = 0
-
- def add(self, num1: int, num2: int) -> int:
-
- self.num1 += num1
-
- self.num2 += num2
-
- return self.num1
-
- def sub(self, num1: int, num2: int) -> int:
-
- self.num1 -= num1
-
- self.num2 -= num2
-
- return self.num1
-
- def mul(self, num1: int, num2: int) -> int:
-
- self.num1 *= num1
-
- self.num2 *= num2
-
- return self.num1
-
- def div(self, num1: int, num2: int) -> int:
-
- self.num1 /= num1
-
- self.num2 /= num2
-
- return self.num1
-
- def __repr__(self):
-
- return str(self.num1)
-
- def __str__(self):
-
- return str(self.num1)
-
-
- # 测试代码
-
- nums = [0, 1, 2, 3, 4, 5]
-
- print(Divide().add(nums[0], nums[1]))
-
- print(Divide().sub(nums[0], nums[1]))
-
- print(Divide().mul(nums[0], nums[1]))
-
- print(Divide().div(nums[0], nums[1]))
复制代码
完全是在胡说八道……
ChatGPT面试这两道题给出的答案是超越了我以前面试的所有候选人,文心一言比所有的候选人都差,它这个做法还不如直接说我不会呢。 |
评分
-
查看全部评分
|