2021 2 6 演算法練習

2022-06-06 23:18:10 字數 1165 閱讀 9331

1423. 可獲得的最大點數

方法一:遞迴搜尋

愉快的超時了~,當然從陣列的長度來看這題也不能直接用暴力搜尋的方式來做

class solution 

int maxscore(vector& cardpoints, int k)

};

方法二:字首和 + 雙指標轉換一下思路,題目的意思其實就是要我們從陣列首部選一部分元素,尾部選一部分元素,兩部分加起來的大小是k,且元素總和要最大。

那麼可以使用雙指標,指標【l】指向首部元素,表示指標【l】指向元素以及之前的元素都是選定元素,指標【r】指向尾部元素,表示指標【r】指向元素以及之後的元素都是選定元素。

兩部分的總和可以使用字首和陣列來獲取

class solution 

return ans ;}};

劍指 offer 48. 最長不含重複字元的子字串

字串的處理問題

方法:雜湊表 + 雙指標

使用乙個雜湊表,儲存每個字元出現的最後一次的索引。遍歷整個字串,指標start和遍歷的指標i分別指向子字串的首部和尾部。並實時更新子字串的最大長度。

class solution  else  else 

}word[s[i]] = i ;

ans = max(ans, len) ;

}return ans ;}};

39. 組合總和

使用搜尋,要求元素可以重複使用,但是不能包含重複的組合,由於元素可以重複使用,因此往下搜尋時,可以從自身索引開始搜尋。

畫圖說明:

以【2,3,6,7】,target=7為例子

C語言學習2021 2 6

應該要用指標做的,但是自己寫的時候用的陣列,因為對陣列比指標熟練一點,但是後面把答案的指標方法也打了一遍。書第八章指標習題7.乙個n個字元的字串,寫乙個函式把第m個字元起的字元複製成另乙個字串.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include include 自己寫的陣...

ARTS打卡第五周(2021 2 6)

題目描述 輸入兩個鍊錶,找出它們的第乙個公共結點。注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的 public class listnode public class solution listnode p1 phead1 listnode p2 phead2...

放射性元素如何傷人? 2021 2 6

以下觀點全為各個的回答集合 放射性對人體的危害 大劑量zhi的照射dao下,放射性對人體和動物存在著某種損害作用。如在400rad的照射下,受照射的人有5 死亡 若照射650rad,則人100 死亡。照射劑量在150rad以下,死亡率為零,但並非無損害作用,住往需經20年以後,一些症狀才會表現出來。...