蘇州培訓(xùn)網(wǎng) > 蘇州web前端培訓(xùn)機(jī)構(gòu) > 蘇州其然軟件開發(fā)培訓(xùn)
首頁 培訓(xùn)網(wǎng) 最新資訊 熱門問答

蘇州其然軟件開發(fā)培訓(xùn)

免費(fèi)試聽

您當(dāng)前的位置: 蘇州軟件系統(tǒng)培訓(xùn) > 蘇州web前端培訓(xùn) > 蘇州java哪個(gè)培訓(xùn)好

蘇州java哪個(gè)培訓(xùn)好_JAVA培訓(xùn)

¥詳詢

班制:周末班

蘇州其然軟件開發(fā)
上課(咨詢)地址:蘇州市昆山市震川西路111號(hào)名仕大廈
報(bào)名咨詢 預(yù)約試聽
課程介紹
蘇州java哪個(gè)培訓(xùn)好
一個(gè)合格的未來 Java工程師

蘇州java哪個(gè)培訓(xùn)好

蘇州java哪個(gè)培訓(xùn)好

Java培訓(xùn)Java與自學(xué)Java的差距

蘇州java哪個(gè)培訓(xùn)好

培訓(xùn)Java與自學(xué)Java的差距

我以前也是自學(xué)Java,在一家公司跟著別人學(xué),以前是別人眼中的菜鳥,現(xiàn) 在是別人眼中的大神,Java很簡單的,貴在堅(jiān)持和多練,沒必要花那培訓(xùn)錢。如果真的要去學(xué)的話,

選擇Java培訓(xùn)機(jī)構(gòu)要注意這兩點(diǎn)基本上就能避免一些坑:

1. 老師沒有正經(jīng)公司工作經(jīng)歷,或者沒有已經(jīng)在線上正常運(yùn)轉(zhuǎn)的產(chǎn)品。一 些所謂培訓(xùn)班的老師水平往往比較一般,甚至還有培訓(xùn)出來后又接著培訓(xùn)別人的。

2、是不是會(huì)承諾幫你找到工作,要找到好的工作,不是靠別人給你保證的 ,還是要靠自己提升能力。

建議多自己學(xué)習(xí)加上找些好的代碼主動(dòng)學(xué)習(xí)。例如github,多練習(xí)網(wǎng)上很多 網(wǎng)站里真正好的代碼。作為Java工程師,可以多看看spring文檔,看看很多已經(jīng)成熟的框架,深入去體會(huì)。另外,學(xué)軟件等等**好還是自己多學(xué),找點(diǎn) 視頻教程之類,也省點(diǎn)錢。

Java基礎(chǔ)語法

蘇州java哪個(gè)培訓(xùn)好

Java基礎(chǔ)語法

Java基礎(chǔ)語法

流程控制語句

Java 編譯器執(zhí)行流程

if 分支結(jié)構(gòu)

switch 選擇結(jié)構(gòu)與相關(guān)規(guī)則

循環(huán)結(jié)構(gòu)

for 循環(huán)

while 循環(huán)

do-while 循環(huán)語句

各語句性能對(duì)比與應(yīng)用場景

特殊流程控制語句

方法的聲明與使用

方法調(diào)用的過程分析

跨類調(diào)用方法

參數(shù)的值傳遞

方法的重載 Overload

Leetcode 179. Largest Number


>

Given a list of non negative integers, arrange them such that they form the largest number.

For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.

Note: The result may be very large, so you need to return a string instead of an integer.

s思路: 1. 正如我所理解。需要排序。例如:[3, 30, 34, 5, 9],先把所有數(shù)變成string,然后排序:從左邊起逐位比較,如果相等,則都移動(dòng)到右邊一位比較,這都很平常。有趣的一點(diǎn)是,3和30比較,第0位同為3,相等,但是3只有一位不能再往右移動(dòng)了,此時(shí)就不移動(dòng),而只移動(dòng)30的指針到0,比較3和0。也就是說移動(dòng)受到邊界的限制,只是這里處理邊界的方法是停留在邊界處,并取邊界值比較。再比如:3和34,那3就會(huì)和4比較,發(fā)現(xiàn)4>3,所以34比3大,因?yàn)?4如果放在3前面組成343比34放在3后面組成的334大。(刪除的部分不正確) 2. debug了好久,重新來說。有很多case,例如:3和34比較,可以認(rèn)為3這個(gè)數(shù)停在這個(gè)位置上了,但是這么特殊的一個(gè)例子,3只有一位,怎么看的出來規(guī)律呢,所以問題是被簡化了,顯然自己沒看到更general的case。例如,824和8247,當(dāng)824的指針移動(dòng)到4時(shí),下一刻應(yīng)該去向何處?應(yīng)該把8247的7和824的8比較才對(duì)呀,我馬上結(jié)論說那就是到了結(jié)尾后下一步就再取開頭的數(shù)比較。再例如,323和3233比較,當(dāng)走到323結(jié)尾的3時(shí),下一刻如果回到開頭的3,那么3233也是3,難道這兩個(gè)數(shù)怎么放都可以嗎?顯然323 3233<3233 323,所以還是不對(duì),不過結(jié)合上一次的教訓(xùn),應(yīng)該不用急著全盤否定這種做法,可能我們離正確的做法又近了!既然323遍歷到**右邊數(shù)之后還要回到**左邊數(shù)繼續(xù)比較,那么3233也可以啊,當(dāng)我們3233到了**右邊的3,下一步不是跳出循環(huán),而是繼續(xù)回到**左邊數(shù),所以:3233的**個(gè)數(shù)3和323的第二個(gè)數(shù)2比較,這不,馬上就可以看出大?。〉竭@里,自然想到,如果是333和3333比較,結(jié)果肯定是相等,所以兩個(gè)數(shù)循環(huán)多少次都不可能不相等,因此必須又一個(gè)stopping rule,那就是**長的數(shù)的長度的兩倍(后來又進(jìn)一步縮小范圍,stopping條件是循環(huán)次數(shù)是兩個(gè)數(shù)的長度之和)即:3333循環(huán)兩次還是相等,那就真的相等,這時(shí)候就需要跳出while。 3. 這里思維的進(jìn)步,需要單獨(dú)提一下。昨天 Leetcode 165. Compare Version Numbers的時(shí)候,就把比較放在while內(nèi)和while外到處都是,一點(diǎn)沒打包嚴(yán)實(shí),不光思路不清,debug也不易,**后把比較功能都想辦法塞進(jìn)while內(nèi),世界一下美好了!今天剛開始也出現(xiàn)過,沒多想就把比較不等的放在while內(nèi),比較相等的又放在while外。不過昨天的記錄,今天腦子馬上就冒出一個(gè)聲音說要想辦法把兩部分的代碼都塞進(jìn)while里面,果然就簡單很多,而且**后beat 96%. 4. 補(bǔ)充一點(diǎn),題做多了,和以前僵硬的思路比,現(xiàn)在思維更靈活了,思維的訓(xùn)練和肌肉的訓(xùn)練很相似,或者說這兩者本就沒什么差別,尤其是自己嘗試每天去捕捉思維的形狀。越是去觀察思維的樣子,思維反倒容易放松,也就越容易reshape,而那些批評(píng)自我羨慕別人并不能讓自己思維變化,反而徒增煩惱。就拿這道題說,剛開始有很大一部分是連蒙帶猜的,想到兩個(gè)指針到結(jié)尾時(shí)仍相等怎么辦時(shí),就思維幾乎停在這個(gè)問題,沒有自然而然或努力嘗試去深入思考這個(gè)問題,而是找了兩個(gè)特殊的簡單的例子觀察得出一個(gè)簡化的方法,沒有搞清楚為什么。整個(gè)思維過程就是這樣子,后來debug把復(fù)雜的case拿出來一研究才發(fā)現(xiàn)兩個(gè)指針應(yīng)該循環(huán)往復(fù),問題一下就有趣了些。 5. 這道題反映的思維的短板在哪兒呢?還要說兩個(gè)指針到尾巴后如何處理的事,自己給自己的選項(xiàng)就是試圖簡化答案,比如就停在尾巴,或回到開頭停下。試圖讓指針停在某一個(gè)具體的位置,本身這個(gè)答案就沒有新意,停在一個(gè)地方,而不動(dòng)起來,說明思維或者自己潛意識(shí)在圖省事,怕麻煩,都不愿意讓指針動(dòng)起來。指針不動(dòng),那腦子當(dāng)然也動(dòng)不了,這就expose思維僵化的一瞬間。當(dāng)然,**后能打破思維的靜態(tài)和慣性,讓指針繼續(xù)循環(huán)動(dòng)起來,說明腦子里本來就有動(dòng)的不僵化的一面,只是被這個(gè)強(qiáng)大的僵化的思維給覆蓋了! 6. 看了網(wǎng)上答案,這個(gè)題還有一個(gè)代碼和理解起來都很容易的做法:如何判斷a和b誰應(yīng)該放在前面的問題?比較a b和b a看誰更大,這個(gè)比較直接用string的比較就可以了,因此**后還是一個(gè)簡潔的數(shù)學(xué)題,不過這個(gè)方法每次都要concatenate兩個(gè)string,比較費(fèi)時(shí)間! 7. 再思考一下,這個(gè)數(shù)學(xué)的方法是怎么想到的?自己想到的方法是深入細(xì)節(jié),挑戰(zhàn)各路extreme case,而且**終也在各路細(xì)節(jié)中摸爬滾打出一條正確的方式—循環(huán)指針,一言以蔽之,自己的方法是bottom-up,希望從底層往上解決問題;而利用數(shù)學(xué)的方法,思考就不是從細(xì)節(jié)入手了,而從系統(tǒng)出發(fā),從頂層設(shè)計(jì)入手,是一種top-down的方法。兩種方法各有優(yōu)勢,不必厚此薄彼。數(shù)學(xué)的方法,是一眼能看到10里的人容易想出來的;從底層入手的,對(duì)抗各路limit case的適合一眼能看到1里的人容易想到了,屬于不同世界的人看世界的角度。也不是說世界不同,是處在世界的位置不同,一眼能看10里,那是因?yàn)閯e人站在數(shù)學(xué)的高度看了,所以眼里就是公式,如何用公式把世界給完美的模擬;一眼看1里,沒有數(shù)學(xué)這棟高樓,就只能泥地里打滾,combat艱難的各路case。多從數(shù)學(xué)的角度出發(fā),尤其是發(fā)現(xiàn)目前腦袋里冒出來的方法要面臨很多瑣碎的extreme case時(shí)!

//方法1:循環(huán)比較大小 class Solution { public: string largestNumber(vector<int>& nums) { vector<string> ss(nums.size());//bug:全零就不用轉(zhuǎn)換了,直接返回0. string res; int zero=0; for(int i=0;i<nums.size();i ){ zero =(nums[i]==0); ss[i]=to_string(nums[i]); } if(zero==nums.size()) return "0"; sort(ss.begin(),ss.end(),[](string&a,string&b){ int n1=a.size(),n2=b.size(); int i=0; /*while(i<max(n1,n2)){//不正確的編碼 char c1,c2; if(i<n1) c1=a[i]; //else c1=a[n1-1];//bug1 //else c1=a[0];//bug2 else c1=max(a[0],a[n1-1]); if(i<n2) c2=b[i]; else c2=max(b[0],b[n2-1]); if(c1>c2) return true; if(c1<c2) return false; i ; }*/ int n=n1 n2; while(i<n){ char c1,c2; c1=a[i%n1]; c2=b[i%n2];; if(c1>c2) return true; if(c1<c2) return false; i ; } return true; }); for(string str:ss){ res =str; } return res; } }; //方法2:簡潔明了,用數(shù)學(xué)之美成就代碼之美! class Solution { public: string largestNumber(vector<int>& nums) { vector<string> ss(nums.size());//bug:全零就不用轉(zhuǎn)換了,直接返回0. string res; for(int i=0;i<nums.size();i ){ ss[i]=to_string(nums[i]); } sort(ss.begin(),ss.end(),[](string&a,string&b){ return a b>b a; }); for(string str:ss){ res =str; } return res[0]== 0 ?"0":res; } };


相關(guān)推薦:


蘇州JAVA培訓(xùn)   蘇州JAVA培訓(xùn)班   蘇州JAVA培訓(xùn)機(jī)構(gòu)

體驗(yàn)課預(yù)約試聽

倒計(jì)時(shí)

12:00:00

課程熱線:

在線咨詢

客服在線時(shí)間:早上9點(diǎn)~下午6點(diǎn),其他時(shí)間請(qǐng)?jiān)诰€預(yù)約報(bào)名或留言,謝謝!

蘇州web前端

免費(fèi)體驗(yàn)課開班倒計(jì)時(shí)

11: 41: 09

稍后會(huì)有專業(yè)老師給您回電,請(qǐng)保持電話暢通

咨詢電話:

選課

推薦機(jī)構(gòu) 全國分站 更多課程

本周僅剩 個(gè)試聽名額

請(qǐng)鍵入信息,稍后系統(tǒng)將會(huì)把領(lǐng)獎(jiǎng)短信發(fā)至您的手機(jī)

申請(qǐng)?jiān)嚶犆~

QQ:
加盟合作:0755-83654572