版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2026年程序員面試編程邏輯題目一、算法設(shè)計(jì)(3題,每題20分,共60分)1.題目:實(shí)現(xiàn)一個(gè)函數(shù),輸入一個(gè)正整數(shù)`n`,返回`1`到`n`中所有數(shù)字的按位數(shù)字之和。例如,輸入`123`,返回`1+2+3=6`。要求時(shí)間復(fù)雜度為`O(n)`,空間復(fù)雜度為`O(1)`。2.題目:給定一個(gè)非空數(shù)組`arr`,其中元素均為正整數(shù),返回一個(gè)新數(shù)組,其中每個(gè)元素為原數(shù)組中比當(dāng)前元素小的所有元素的和。例如,輸入`[3,1,2,4]`,返回`[1,3,4,4]`(即`3`前面比它小的有`1`,`1`前面比它小的沒(méi)有,`2`前面比它小的有`1`和`3`,`4`前面比它小的有`1`、`2`和`3`)。3.題目:設(shè)計(jì)一個(gè)算法,輸入一個(gè)字符串`s`,判斷該字符串是否為有效的括號(hào)組合(只包含`()`、`[]`、`{}`,且括號(hào)匹配正確)。例如,輸入`"()[]{}"`返回`true`,輸入`"(]"`返回`false`。二、數(shù)據(jù)結(jié)構(gòu)(3題,每題20分,共60分)1.題目:實(shí)現(xiàn)一個(gè)`LRUCache`(最近最少使用緩存)類,支持以下操作:-`LRUCache(intcapacity)`:初始化緩存容量為`capacity`。-`get(intkey)`:返回鍵`key`對(duì)應(yīng)的值,如果不存在返回`-1`。-`put(intkey,intvalue)`:插入或更新鍵值對(duì),如果容量已滿,則刪除最久未使用的元素。2.題目:給定一個(gè)無(wú)重復(fù)元素的整數(shù)數(shù)組`nums`和一個(gè)目標(biāo)值`target`,返回所有和為`target`的`nums`中的4個(gè)數(shù)的組合。例如,輸入`[1,2,3,4,5]`和`target=8`,返回`[[1,2,3,4]]`。3.題目:實(shí)現(xiàn)一個(gè)函數(shù),輸入一個(gè)二叉樹,返回其鏡像(即左右子樹互換)。例如,輸入`[1,2,3]`的二叉樹,鏡像后為`[1,3,2]`。三、系統(tǒng)設(shè)計(jì)(2題,每題30分,共60分)1.題目:設(shè)計(jì)一個(gè)簡(jiǎn)單的微博系統(tǒng),要求:-用戶可以發(fā)布、評(píng)論、點(diǎn)贊微博。-微博需支持按時(shí)間倒序展示。-每個(gè)用戶最多關(guān)注1000人,每個(gè)用戶最多被1000人關(guān)注。2.題目:設(shè)計(jì)一個(gè)秒殺系統(tǒng),要求:-用戶提交訂單時(shí),需驗(yàn)證庫(kù)存是否足夠。-防止超賣(即庫(kù)存不足時(shí),訂單仍能成功)。-系統(tǒng)需支持高并發(fā)(假設(shè)每秒有10000個(gè)請(qǐng)求)。四、編碼實(shí)現(xiàn)(2題,每題40分,共80分)1.題目:實(shí)現(xiàn)一個(gè)函數(shù),輸入一個(gè)字符串`s`,返回所有可能的`palindrome`(回文)子串。例如,輸入`"abc"`,返回`["a","b","c","aa","bb","cc","aba","aca","bab","bcb","cba","ccc"]`。2.題目:實(shí)現(xiàn)一個(gè)函數(shù),輸入一個(gè)正整數(shù)`n`,返回所有小于等于`n`的`prime`(質(zhì)數(shù))的列表。要求時(shí)間復(fù)雜度為`O(nloglogn)`。答案與解析一、算法設(shè)計(jì)1.按位數(shù)字之和答案:pythondefsum_of_digits(n):total=0whilen>0:total+=n%10n//=10returntotal解析:-使用`while`循環(huán)遍歷每一位數(shù)字,通過(guò)`n%10`獲取當(dāng)前最低位,`n//=10`移除最低位。-時(shí)間復(fù)雜度`O(n)`(`n`為數(shù)字的位數(shù)),空間復(fù)雜度`O(1)`。2.小于當(dāng)前元素的和答案:pythondefsmaller_sum(arr):result=[0]len(arr)prefix_sum=[0](len(arr)+1)foriinrange(len(arr)):prefix_sum[i+1]=prefix_sum[i]+arr[i]foriinrange(len(arr)):result[i]=prefix_sum[i]returnresult解析:-使用前綴和數(shù)組`prefix_sum`,其中`prefix_sum[i]`表示`arr[0]`到`arr[i-1]`的和。-對(duì)于每個(gè)`arr[i]`,`prefix_sum[i]`即為比它小的所有元素的和。-時(shí)間復(fù)雜度`O(n)`,空間復(fù)雜度`O(n)`。3.有效括號(hào)答案:pythondefisValid(s):stack=[]mapping={')':'(',']':'[','}':'{'}forcharins:ifcharinmapping:top=stack.pop()ifstackelse'#'ifmapping[char]!=top:returnFalseelse:stack.append(char)returnnotstack解析:-使用棧`stack`,遍歷字符串,遇到右括號(hào)時(shí)檢查棧頂是否匹配。-若不匹配或棧為空,返回`false`。-最終棧為空則有效。二、數(shù)據(jù)結(jié)構(gòu)1.LRUCache答案:pythonclassLRUCache:def__init__(self,capacity):self.capacity=capacityself.cache={}self.order=[]defget(self,key):ifkeyinself.cache:self.order.remove(key)self.order.append(key)returnself.cache[key]return-1defput(self,key,value):ifkeyinself.cache:self.order.remove(key)eliflen(self.cache)==self.capacity:oldest=self.order.pop(0)delself.cache[oldest]self.cache[key]=valueself.order.append(key)解析:-使用字典`cache`存儲(chǔ)鍵值對(duì),列表`order`記錄訪問(wèn)順序。-`get`時(shí)移動(dòng)鍵到末尾,`put`時(shí)先刪除最久未使用(頭部)的元素。2.4數(shù)之和答案:pythondeffour_sum(nums,target):nums.sort()result=[]n=len(nums)foriinrange(n-3):ifi>0andnums[i]==nums[i-1]:continueforjinrange(i+1,n-2):ifj>i+1andnums[j]==nums[j-1]:continueleft,right=j+1,n-1whileleft<right:total=nums[i]+nums[j]+nums[left]+nums[right]iftotal==target:result.append([nums[i],nums[j],nums[left],nums[right]])whileleft<rightandnums[left]==nums[left+1]:left+=1whileleft<rightandnums[right]==nums[right-1]:right-=1left+=1right-=1eliftotal<target:left+=1else:right-=1returnresult解析:-先排序,避免重復(fù)解。-固定前兩個(gè)數(shù),使用雙指針?lè)ú檎液髢蓚€(gè)數(shù)。-時(shí)間復(fù)雜度`O(n^3)`。3.二叉樹鏡像答案:pythondefmirrorTree(root):ifnotroot:returnNoneroot.left,root.right=root.right,root.leftmirrorTree(root.left)mirrorTree(root.right)returnroot解析:-遞歸交換左右子樹,然后對(duì)子樹繼續(xù)交換。-時(shí)間復(fù)雜度`O(n)`,空間復(fù)雜度`O(h)`(`h`為樹高)。三、系統(tǒng)設(shè)計(jì)1.微博系統(tǒng)設(shè)計(jì)要點(diǎn):-用戶表:`id`,`username`,`followed`(關(guān)注的用戶列表),`followers`(粉絲列表)。-微博表:`id`,`user_id`,`content`,`timestamp`。-評(píng)論表:`id`,`微博id`,`user_id`,`content`,`timestamp`。-點(diǎn)贊表:`id`,`微博id`,`user_id`,`timestamp`。秒殺系統(tǒng)設(shè)計(jì)要點(diǎn):-使用分布式鎖(如Redis)防止超賣。-訂單生成時(shí)先扣庫(kù)存,成功則創(chuàng)建訂單,失敗則回滾庫(kù)存。-高并發(fā)時(shí)使用限流(如令牌桶算法)。四、編碼實(shí)現(xiàn)1.回文子串答案:pythondefall_palindromes(s):result=set()foriinrange(len(s)):forjinrange(i+1):ifs[j:i+1]==s[j:i+1][::-1]:result.add(s[j:i+1])returnlist(result)解析:-使用雙層循環(huán)枚舉所有子串,檢查是否為回文。-時(shí)間復(fù)雜度`O(n^2)`。2.質(zhì)數(shù)列表答案:pythondefsieve_of_eratosthenes(n):is_prime=[True](n+1)is_prime[0]=is_prime[1]=Falseforiinrange(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026啟明信息技術(shù)股份有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解1套
- 2025福建福州市光榮院招聘1人備考題庫(kù)及完整答案詳解
- 2025年金華市教育局直屬學(xué)校公開招聘教師24人備考題庫(kù)附答案詳解
- 2025-2030中國(guó)墻繪行業(yè)經(jīng)營(yíng)趨勢(shì)及前景營(yíng)銷發(fā)展趨勢(shì)研究報(bào)告
- 2026中共虹口區(qū)委黨校公開招聘專職教師備考題庫(kù)帶答案詳解
- 2026山東事業(yè)單位統(tǒng)考聊城市茌平區(qū)綜合類招聘16人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 2026南平順昌縣農(nóng)業(yè)農(nóng)村局招聘動(dòng)物檢疫協(xié)檢人員1人備考題庫(kù)及完整答案詳解一套
- 2026山東日照陸橋人力資源有限責(zé)任公司勞務(wù)外包人員招聘1人備考題庫(kù)及1套參考答案詳解
- 2026上海交通大學(xué)醫(yī)學(xué)院學(xué)生工作指導(dǎo)委員會(huì)招聘輔導(dǎo)員3人備考題庫(kù)有完整答案詳解
- 海南海南省康復(fù)醫(yī)院2025年招聘12名事業(yè)編制工作人員(第1號(hào))筆試歷年參考題庫(kù)附帶答案詳解
- 2026年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試模擬測(cè)試卷必考題
- 2026年中藥材生產(chǎn)質(zhì)量管理規(guī)范理論考試題含答案
- 北京市東城區(qū)2025-2026年高三上期末地理試卷(含答案)
- 鎮(zhèn)海區(qū)國(guó)資系統(tǒng)招聘筆試題庫(kù)2026
- 2026秋招:國(guó)家電投面試題及答案
- 智能機(jī)械與機(jī)器人全套課件
- 《2025年CSCO前列腺癌診療指南》更新要點(diǎn)解讀
- 膿毒癥診斷與治療臨床規(guī)范指南(2025年版)
- 國(guó)有企業(yè)財(cái)務(wù)管理制度
- GB 19079.12-2013體育場(chǎng)所開放條件與技術(shù)要求第12部分:傘翼滑翔場(chǎng)所
- BB/T 0019-2000包裝容器方罐與扁圓罐
評(píng)論
0/150
提交評(píng)論