C++/Java小白解Leetcode題

題解:

class Solution {

public int countSegments(String s) {

int count=0;

s=s.trim();

if(s.equals(""))

count=0;

else

{

String[] word=s.trim().split("\\s+");

count=word.length;

}

return count;

}

}

開始直接想到Java的函數(shù)命满,對這道題可以簡單處理达椰,容易解決润梯。不過期間有幾個注意點(diǎn)毕匀,就是處理連續(xù)空格和邊界情況。

后來嘗試C++手寫方法肿轨,效果更好:

思路:使用一個flag標(biāo)識每個單詞分界點(diǎn),如果當(dāng)前字符不是空格且它前一個為空格(即此處分隔單詞邊界)荡澎,則計數(shù)新單詞個數(shù)。

class Solution {

public:

int countSegments(string s) {

int flag=1,count=0;

for(int i=0;i {

if(s[i]!=' '&&flag)

{

count++;

flag=0;

}

if(s[i]==' ')

flag=1;

}

return count;

}

};

/*

作者:lu-hai-pan-jiang

鏈接:https://leetcode-cn.com/problems/number-of-segments-in-a-string/solution/jian-dan-zhi-jie-si-lu-ji-bai-100-by-lu-hai-pan-ji/

來源:力扣(LeetCode)

著作權(quán)歸作者所有晤锹。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)摩幔,非商業(yè)轉(zhuǎn)載請注明出處。

*/

三鞭铆、最富有客戶的資產(chǎn)總量

給你一個 m x n 的整數(shù)網(wǎng)格 accounts 或衡,其中 accounts[i][j] 是第 i????? 位客戶在第 j 家銀行托管的資產(chǎn)數(shù)量。返回最富有客戶所擁有的 資產(chǎn)總量 车遂。

客戶的 資產(chǎn)總量 就是他們在各家銀行托管的資產(chǎn)數(shù)量之和封断。最富有客戶就是 資產(chǎn)總量 最大的客戶。

示例 1:

輸入:accounts = [[1,2,3],[3,2,1]]

輸出:6

解釋:

第 1 位客戶的資產(chǎn)總量 = 1 + 2 + 3 = 6

第 2 位客戶的資產(chǎn)總量 = 3 + 2 + 1 = 6

兩位客戶都是最富有的舶担,資產(chǎn)總量都是 6 坡疼,所以返回 6 。

示例 2:

輸入:accounts = [[1,5],[7,3],[3,5]]

輸出:10

解釋:

第 1 位客戶的資產(chǎn)總量 = 6

第 2 位客戶的資產(chǎn)總量 = 10

第 3 位客戶的資產(chǎn)總量 = 8

第 2 位客戶是最富有的衣陶,資產(chǎn)總量是 10

示例 3:

輸入:accounts = [[2,8,7],[7,1,3],[1,9,5]]

輸出:17

來源:力扣(LeetCode)

鏈接:https://leetcode-cn.com/problems/richest-customer-wealth

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有柄瑰。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處剪况。

Hint:

m == accounts.length

n == accounts[i].length

1 <= m, n <= 50

1 <= accounts[i][j] <= 100

這題目是簽到題狱意,思路直接簡單。

class Solution {

public int maximumWealth(int[][] accounts) {

int maxV=0;

for(int i=0;i {

int sum=0;

for(int j=0;j sum+=accounts[i][j];

if(maxV maxV=sum;

}

return maxV;

}

}

四拯欧、三角形的最大周長

給定由一些正數(shù)(代表長度)組成的數(shù)組 A详囤,返回由其中三個長度組成的、面積不為零的三角形的最大周長镐作。

如果不能形成任何面積不為零的三角形藏姐,返回 0。

示例 1:

輸入:[2,1,2]

輸出:5

示例 2:

輸入:[1,2,1]

輸出:0

示例 3:

輸入:[3,2,3,4]

輸出:10

示例 4:

輸入:[3,6,2,3]

輸出:8

提示:

3 <= A.length <= 10000

1 <= A[i] <= 10^6

來源:力扣(LeetCode)

鏈接:https://leetcode-cn.com/problems/largest-perimeter-triangle

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有该贾。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán)羔杨,非商業(yè)轉(zhuǎn)載請注明出處。

思路:先將邊長降序排列杨蛋,從后往前掃描兜材,貪心的思想,取得能夠組成三角形的最大周長逞力。

C++版本:

class Solution {

public:

int largestPerimeter(vector& A) {

sort(A.begin(),A.end());

for(int i=A.size()-1;i>=2;i--)

{

if(A[i-2]+A[i-1]>A[i])

return A[i-2]+A[i-1]+A[i];

}

return 0;

}

};

Java版本:運(yùn)行用時更短曙寡,奇怪了(?。?)

class Solution {

public int largestPerimeter(int[] A) {

Arrays.sort(A);

for(int i=A.length-1;i>=2;i--)

{

if(A[i-2]+A[i-1]>A[i])

return A[i-2]+A[i-1]+A[i];

}

return 0;

}

}

五寇荧、找出最具競爭力的子序列(中等難度)

給你一個整數(shù)數(shù)組 nums 和一個正整數(shù) k 举庶,返回長度為 k 且最具 競爭力 的 nums 子序列。數(shù)組的子序列是從數(shù)組中刪除一些元素(可能不刪除元素)得到的序列揩抡。

在子序列 a 和子序列 b 第一個不相同的位置上户侥,如果 a 中的數(shù)字小于 b 中對應(yīng)的數(shù)字镀琉,那么我們稱子序列 a 比子序列 b(相同長度下)更具 競爭力 。 例如蕊唐,[1,3,4] 比 [1,3,5] 更具競爭力屋摔,在第一個不相同的位置,也就是最后一個位置上替梨, 4 小于 5 凡壤。

示例 1:

輸入:nums = [3,5,2,6], k = 2

輸出:[2,6]

解釋:在所有可能的子序列集合 {[3,5], [3,2], [3,6], [5,2], [5,6], [2,6]} 中,[2,6] 最具競爭力耙替。

示例 2:

輸入:nums = [2,4,3,3,5,4,9,6], k = 4

輸出:[2,3,3,4]

提示:

1 <= nums.length <= 105

0 <= nums[i] <= 109

1 <= k <= nums.length

來源:力扣(LeetCode)

鏈接:https://leetcode-cn.com/problems/find-the-most-competitive-subsequence

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán)曹体,非商業(yè)轉(zhuǎn)載請注明出處俗扇。

前面幾道屬于簡單類型,這道中等題目就顯得有些分量了箕别,題目需要琢磨一會才知道是要干啥铜幽,就題做題。

看到一個大佬的解題思路串稀,這個比較好理解:傳送門

維護(hù)一個單調(diào)棧除抛,從左到右遍歷數(shù)組。

1母截、如果當(dāng)前元素比隊尾元素小到忽,接下來判斷剩余數(shù)組長度(len - i)和目標(biāo)棧還需要元素個數(shù)(k - stack.size() + 1)大小。

? ? 1.1 如果前者小于或等于后者清寇,則說明不能再出棧了喘漏,否則剩余數(shù)組全加進(jìn)棧也不夠?qū)L畹絢+1長度。(需要k+1而不是k是因?yàn)橐婚_始就填進(jìn)了-1华烟,但這個-1是不會被返回的)

? ? 1.2 如果前者大于后者翩迈,就將隊尾元素出棧,并重復(fù)第一步

2盔夜、如果棧長度不夠负饲,不用判斷,直接將當(dāng)前元素進(jìn)棧即可喂链。

class Solution {

public int[] mostCompetitive(int[] nums, int k) {

Stack stack = new Stack<>();

stack.add(-1);

int len = nums.length;

for (int i = 0; i < len; i++) {

//當(dāng)前元素比隊尾元素小返十,將隊尾元素出棧

//此處需要另外判斷數(shù)組剩余長度夠不夠填滿棧,不然最后答案長度可能會小于k

while (nums[i] < stack.peek() && k - stack.size() + 1 < len - i) {

stack.pop();

}

if (stack.size() < k + 1) {

stack.add(nums[i]);

}

}

int[] ret = new int[k];

while (k > 0) {

ret[--k] = stack.pop();

}

return ret;

}

}

————————————

龍華大道1號 http://www.kinghill.cn/Dynamics/2106.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末椭微,一起剝皮案震驚了整個濱河市吧慢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赏表,老刑警劉巖检诗,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匈仗,死亡現(xiàn)場離奇詭異,居然都是意外死亡逢慌,警方通過查閱死者的電腦和手機(jī)悠轩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攻泼,“玉大人火架,你說我怎么就攤上這事∶Σぃ” “怎么了何鸡?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長牛欢。 經(jīng)常有香客問我骡男,道長,這世上最難降的妖魔是什么傍睹? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任隔盛,我火速辦了婚禮,結(jié)果婚禮上拾稳,老公的妹妹穿的比我還像新娘吮炕。我一直安慰自己,他們只是感情好访得,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布龙亲。 她就那樣靜靜地躺著,像睡著了一般悍抑。 火紅的嫁衣襯著肌膚如雪俱笛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天传趾,我揣著相機(jī)與錄音迎膜,去河邊找鬼。 笑死浆兰,一個胖子當(dāng)著我的面吹牛磕仅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播簸呈,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼榕订,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蜕便?” 一聲冷哼從身側(cè)響起劫恒,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后两嘴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丛楚,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年憔辫,在試婚紗的時候發(fā)現(xiàn)自己被綠了趣些。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡贰您,死狀恐怖坏平,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锦亦,我是刑警寧澤舶替,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站杠园,受9級特大地震影響顾瞪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜返劲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望栖茉。 院中可真熱鬧篮绿,春花似錦吕漂、人聲如沸惶凝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽油湖。三九已至乏德,卻和暖如春喊括,著一層夾襖步出監(jiān)牢的瞬間瘾晃,已是汗流浹背劫拢。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熟吏,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親势腮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容