- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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+
您可能关注的文档
最近下载
- 2025年1月浙江省高考英语试卷(含答案解析)+听力录音稿+听力音频.docx
- 宝骏310维修手册(CN180C-SM01-C2016).pdf VIP
- JB_T 8211-2023 滚动轴承 推力圆柱滚子和保持架组件及推力垫圈.docx VIP
- 2020 ACLS-PC-SA课前自我测试试题及答案.docx VIP
- 工程质量安全巡查制度.docx
- 法律基础知识考试题库.docx VIP
- 数理方程Sturm-Liouville问题数理方程Sturm-Liouville问题.pdf VIP
- 煤矿充填开采技术规范-地方标准编制说明.pdf VIP
- 2022年广东外语外贸大学432(应用统计专业考研真题(样卷).pdf VIP
- 班级互动小游戏 课件(共30张PPT)-小学生主题班会通用版.pptx VIP
文档评论(0)