- 2
- 0
- 约7.02千字
- 约 23页
- 2026-01-05 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年苹果公司面试题及答案
一、编程题(共5题,每题10分,总分50分)
题目1(10分)
问题描述:请实现一个函数,输入一个字符串,返回该字符串中所有唯一字符的集合。例如,输入leetcode,返回[e,t,c,d,o,l]。
答案:
swift
funcuniqueCharacters(instring:String)-[Character]{
varcharSet=SetCharacter()
varresult=[Character]()
forcharinstring{
if!charSet.contains(char){
charSet.insert(char)
result.append(char)
}
}
returnresult
}
解析:
1.使用Set数据结构存储已遇到的字符,确保唯一性
2.遍历输入字符串的每个字符
3.对于每个字符,检查是否已在Set中
4.如果不在,则添加到Set和结果数组中
5.最终返回结果数组,包含所有唯一字符
该算法时间复杂度为O(n),空间复杂度为O(n),其中n为字符串长度。
题目2(10分)
问题描述:给定一个包含n个整数的数组,设计一个算法找到和最接近0的三数之和。例如,输入[-1,2,1,-4],返回3(-1+1+2)。
答案:
swift
functhreeSumClosest(_nums:[Int],_target:Int)-Int{
ifnums.count3{
return0
}
//先排序
letsortedNums=nums.sorted()
varclosestSum=sortedNums[0]+sortedNums[1]+sortedNums[2]
foriin0..sortedNums.count-2{
varleft=i+1
varright=sortedNums.count-1
whileleftright{
letcurrentSum=sortedNums[i]+sortedNums[left]+sortedNums[right]
ifabs(currentSum-target)abs(closestSum-target){
closestSum=currentSum
}
ifcurrentSumtarget{
left+=1
}elseifcurrentSumtarget{
right-=1
}else{
returncurrentSum
}
}
}
returnclosestSum
}
解析:
1.首先对数组进行排序,便于使用双指针法
2.初始化最接近和为前三个元素的和
3.遍历数组,对于每个元素,使用双指针在剩余部分寻找最接近目标的两个数
4.更新最接近和时,比较绝对差值
5.如果找到精确和,立即返回
6.最后返回最接近目标的三数之和
该算法时间复杂度为O(n2),空间复杂度为O(1)。
题目3(10分)
问题描述:实现一个LRU(最近最少使用)缓存,支持get和put操作。LRU缓存限制为固定大小,当达到限制时,最久未使用的元素将被移除。
答案:
swift
classLRUCache{
privateletcapacity:Int
privatevarcache:[Int:(value:Int,key:Int)]=[:]
privatevarkeys:[Int]=[]
init(_capacity:Int){
self.capacity=capacity
}
funcget(_key:Int)-Int{
ifletvalue=cache[key]{
//更新使用顺序
keys.remove(at:keys.firstIndex(of:value.key)!)
keys.append(key)
returnvalue.value
}
return-1
}
funcput(_key:Int,_value:Int){
ifletexisting=cache[key]{
//更新值和顺序
cache[key]=(value,key)
keys.remove(at:keys.firstIndex(of:existing.key)!)
keys.append(key)
}else{
ifcache.count=capacity{
//移除最久未使用的元
您可能关注的文档
- 2026年护士长面试题及答案.docx
- 2026年业务流程分析师面试问题解析.docx
- 2026年行政管理人员面试常见问题集.docx
- 2026年餐饮管理师面试题及服务技巧含答案.docx
- 2026年建筑工地项目经理面试题及答案.docx
- 2026年游戏科技类公司销售人员专场题目高频考题.docx
- 2026年微软件工程师面试题及答题技巧.docx
- 2026年中国能源建设集团有限公司电力工程部总监绩效考核含答案.docx
- 2026年客服经理面试高频考点及解析.docx
- 2026年销售经理销售目标管理与绩效考核优化含答案.docx
- 2024年泰山科技学院辅导员考试笔试真题汇编附答案.docx
- 2024年泰山科技学院辅导员考试笔试真题汇编附答案.docx
- 2024年河南推拿职业学院辅导员考试笔试题库附答案.docx
- 2024年泰山科技学院辅导员考试笔试真题汇编附答案.docx
- 2024年札达县招教考试备考题库最新.docx
- Unit 6 Section A (Pronunciation~2e)(21页)最新优质课件.pptx
- 2024年新安县招教考试备考题库汇编.docx
- 2024年新田县招教考试备考题库含答案.docx
- 2024年浙江中医药大学滨江学院辅导员考试笔试真题汇编最新.docx
- 2024年峡江县幼儿园教师招教考试备考题库汇编.docx
原创力文档

文档评论(0)