2025年面试函数小试题及答案.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2025年面试函数小试题及答案

本文借鉴了近年相关面试中的经典题创作而成,力求帮助考生深入理解面试题型,掌握答题技巧,提升应试能力。

面试题1:编写一个函数,判断一个字符串是否为回文串

题目描述:

请编写一个函数,判断输入的字符串是否为回文串。回文串是指正读和反读都相同的字符串,例如madam、racecar。

示例输入:

```python

is_palindrome(madam)

is_palindrome(racecar)

is_palindrome(hello)

```

示例输出:

```python

True

True

False

```

答案:

```python

defis_palindrome(s:str)-bool:

移除字符串中的非字母数字字符,并转换为小写

cleaned_s=.join(char.lower()forcharinsifchar.isalnum())

比较字符串与其反转是否相同

returncleaned_s==cleaned_s[::-1]

测试用例

print(is_palindrome(madam))输出:True

print(is_palindrome(racecar))输出:True

print(is_palindrome(hello))输出:False

```

解析:

1.字符串清洗:使用列表推导式移除字符串中的非字母数字字符,并将所有字符转换为小写,以确保比较时忽略大小写和特殊字符。

2.回文判断:通过比较清洗后的字符串与其反转字符串是否相同,来判断是否为回文串。

---

面试题2:编写一个函数,找出列表中所有唯一的数字

题目描述:

请编写一个函数,接收一个包含重复数字的列表,并返回一个包含所有唯一数字的新列表。

示例输入:

```python

unique_numbers([1,2,2,3,4,4,5])

unique_numbers([7,7,8,9,9,10])

```

示例输出:

```python

[1,3,5]

[8,10]

```

答案:

```python

defunique_numbers(nums:list)-list:

使用集合来存储唯一的数字

unique_set=set()

使用另一个集合来记录已遇到的重复数字

seen=set()

fornuminnums:

ifnuminseen:

unique_set.discard(num)

else:

seen.add(num)

unique_set.add(num)

returnlist(unique_set)

测试用例

print(unique_numbers([1,2,2,3,4,4,5]))输出:[1,3,5]

print(unique_numbers([7,7,8,9,9,10]))输出:[8,10]

```

解析:

1.集合使用:利用集合的特性(唯一性)来存储唯一的数字。通过两个集合`unique_set`和`seen`分别记录唯一数字和已遇到的重复数字。

2.重复检测:遍历输入列表,如果当前数字已在`seen`中,则从`unique_set`中移除;否则,将其添加到`seen`和`unique_set`中。

3.结果转换:最后将`unique_set`转换为列表返回。

---

面试题3:编写一个函数,实现二分查找

题目描述:

请编写一个函数,实现二分查找算法。给定一个有序列表和一个目标值,返回目标值在列表中的索引(如果未找到则返回-1)。

示例输入:

```python

binary_search([1,2,3,4,5,6,7],4)

binary_search([10,20,30,40,50],25)

```

示例输出:

```python

3

-1

```

答案:

```python

defbinary_search(arr:list,target:int)-int:

left,right=0,len(arr)-1

whileleft=right:

mid=left+(right-left)//2

ifarr[mid]==target:

returnmid

elifarr[mid]target:

left=mid+1

else:

right=mid-1

return-1

测试用例

print(binary_search([1,2,3,4,5,6,7],4))输出:3

print(binary_search([10,20,30,40,50],25))输出:-1

```

解析:

1.初始化:设置初始的左右指针`left`和`right`,分别指向列表的起始和结束位置。

2.循环条件:当`left`小于等于`right`时,继续循环。

3.中间位置计算:计算中间位置`mid`,避免`(left+

文档评论(0)

lxc05035395 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档