版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年美团技术团队面试笔试题目及答案一、编程语言基础(5题,每题10分,共50分)1.题目:请用Python实现一个函数,输入一个正整数n,返回其二进制表示中1的个数。例如,输入5(二进制为101),返回2。答案:pythondefcount_bits(n):returnbin(n).count('1')示例print(count_bits(5))#输出:2解析:使用Python内置的`bin()`函数将数字转换为二进制字符串,然后统计字符串中'1'的个数。时间复杂度为O(1),因为整数二进制位数有限。2.题目:请用Java实现一个方法,判断一个字符串是否为回文串(正读和反读相同)。例如,输入"level",返回true;输入"hello",返回false。答案:javapublicbooleanisPalindrome(Strings){intleft=0,right=s.length()-1;while(left<right){if(s.charAt(left)!=s.charAt(right)){returnfalse;}left++;right--;}returntrue;}解析:双指针法,从字符串两端向中间遍历,比较对应字符是否相同。时间复杂度为O(n),空间复杂度为O(1)。3.题目:请用C++实现一个函数,输入一个字符串,返回其中不重复的字符组成的字符串。例如,输入"abcabcbb",返回"abcb"。答案:cppinclude<string>include<unordered_set>usingnamespacestd;stringuniqueChars(strings){unordered_set<char>seen;stringresult;for(charc:s){if(seen.find(c)==seen.end()){seen.insert(c);result+=c;}}returnresult;}解析:使用哈希集合记录已出现字符,遍历字符串时仅添加未出现过的字符。时间复杂度为O(n),空间复杂度为O(1)。4.题目:请用JavaScript实现一个函数,输入一个数组,返回一个新数组,其中包含原数组中所有元素的平方。例如,输入[1,2,3],返回[1,4,9]。答案:javascriptfunctionsquareArray(arr){returnarr.map(x=>xx);}//示例console.log(squareArray([1,2,3]));//输出:[1,4,9]解析:使用`map()`方法遍历数组,对每个元素进行平方运算。时间复杂度为O(n),空间复杂度为O(n)。5.题目:请用Go实现一个函数,输入一个整数切片,返回其和。例如,输入[1,2,3],返回6。答案:gofuncsumSlice(nums[]int)int{sum:=0for_,num:=rangenums{sum+=num}returnsum}//示例fmt.Println(sumSlice([]int{1,2,3}))//输出:6解析:使用循环遍历切片,累加每个元素。时间复杂度为O(n),空间复杂度为O(1)。二、数据结构与算法(5题,每题10分,共50分)1.题目:请实现一个函数,输入一个无重复元素的数组和一个目标值,返回数组中和为目标值的所有整数对。例如,输入数组[2,7,11,15],目标值9,返回[[2,7]]。答案:pythondeftwoSum(nums,target):num_to_index={}fori,numinenumerate(nums):complement=target-numifcomplementinnum_to_index:return[[complement,num]]num_to_index[num]=ireturn[]示例print(twoSum([2,7,11,15],9))#输出:[[2,7]]解析:使用哈希表记录每个数字及其索引,遍历时检查是否存在`target-num`。时间复杂度为O(n),空间复杂度为O(n)。2.题目:请实现一个函数,输入一个字符串,返回其最长回文子串的长度。例如,输入"babad",返回3("bab"或"aba")。答案:pythondeflongestPalindrome(s):ifnots:return0start,end=0,0foriinrange(len(s)):len1=expandAroundCenter(s,i,i)len2=expandAroundCenter(s,i,i+1)max_len=max(len1,len2)ifmax_len>end-start:start=i-(max_len-1)//2end=i+max_len//2returnend-start+1defexpandAroundCenter(s,left,right):whileleft>=0andright<len(s)ands[left]==s[right]:left-=1right+=1returnright-left-1示例print(longestPalindrome("babad"))#输出:3解析:遍历每个字符,以它为中心向两边扩展,分别处理奇数长度和偶数长度的回文。时间复杂度为O(n²),空间复杂度为O(1)。3.题目:请实现一个函数,输入一个字符串,返回其最长不含重复字符的子串的长度。例如,输入"abcabcbb",返回3("abc")。答案:pythondeflengthOfLongestSubstring(s):char_map={}left=0max_len=0forrightinrange(len(s)):ifs[right]inchar_mapandchar_map[s[right]]>=left:left=char_map[s[right]]+1char_map[s[right]]=rightmax_len=max(max_len,right-left+1)returnmax_len示例print(lengthOfLongestSubstring("abcabcbb"))#输出:3解析:使用哈希表记录每个字符的最新索引,滑动窗口法维护当前无重复字符的子串。时间复杂度为O(n),空间复杂度为O(n)。4.题目:请实现一个函数,输入一个正整数n,返回斐波那契数列的第n项。例如,输入5,返回5。答案:javapublicintfib(intn){if(n<=1)returnn;inta=0,b=1,c=0;for(inti=2;i<=n;i++){c=a+b;a=b;b=c;}returnc;}解析:动态规划法,使用三个变量存储前两项,避免递归栈溢出。时间复杂度为O(n),空间复杂度为O(1)。5.题目:请实现一个函数,输入一个字符串,返回其子集的所有组合。例如,输入"abc",返回["","a","b","ab","c","ac","bc","abc"]。答案:pythondefsubsets(s):result=[]subset=[]s=sorted(s)#排序去重defbacktrack(start):result.append(''.join(subset))foriinrange(start,len(s)):subset.append(s[i])backtrack(i+1)subset.pop()backtrack(0)returnresult示例print(subsets("abc"))#输出:["","a","b","ab","c","ac","bc","abc"]解析:回溯法,遍历所有可能的子集。时间复杂度为O(2^n),空间复杂度为O(n)。三、系统设计(2题,每题25分,共50分)1.题目:设计一个短链接系统,要求:-输入一个长链接,返回一个短链接。-输入一个短链接,返回对应的长链接。-支持高并发访问。答案:plaintext方案:1.使用哈希算法(如MD5)将长链接映射为短字符串(如6位随机字母)。2.使用数据库(如Redis)存储短链接与长链接的映射关系。3.高并发时,使用分布式锁或CAS操作保证唯一性。4.前端部署负载均衡,后端水平扩展。解析:-哈希算法保证短链接唯一性,6位随机字母(62^6种组合)足够用。-Redis支持高并发读写,CAS操作防止短链接冲突。-负载均衡和水平扩展提升系统吞吐量。2.题目:设计一个高并发的微博点赞系统,要求:-用户可以给任意微博点赞。-实时显示微博的点赞数。-支持高并发和大数据量。答案:plaintext方案:1.使用Redis存储点赞数(Hash结构,如微博ID->点赞数)。2.用户点赞时,使用Redis的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保温施工过程监测方案
- 为个人数字遗嘱编写重要账户托管方案与信息传递流程
- 标准化厂房地质勘察方案
- 设备自动化控制系统验收方案
- 建材供应商绩效跟踪方案
- 2026年软件工程师职称评审考试题库及答案
- 电子病历管理与使用手册
- 2026年初入职场者财务基础知识笔试题
- 营销策略执行方案及效果分析表
- 消防设施日常运行维护方案
- 三年级英语下册阅读理解真题
- 化学知识科普小学生
- 桩基旋挖钻施工方案
- 《矿山压力与岩层控制》教案
- 焊工焊接协议书(2篇)
- 苏教版六年级数学上册全套试卷
- 2019-2020学年贵州省贵阳市八年级下学期期末考试物理试卷及答案解析
- 培训机构转课协议
- 创客教室建设方案
- (完整版)南京市房屋租赁合同
- 办公场地选址方案
评论
0/150
提交评论