国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

“365算法每日學(xué)計(jì)劃”:01打卡

jayce / 1042人閱讀

摘要:計(jì)劃的主要內(nèi)容數(shù)據(jù)結(jié)構(gòu)和算法的基礎(chǔ)知識(shí)鞏固。逐步進(jìn)階的算法訓(xùn)練。計(jì)劃的時(shí)間安排每周三和周六說在前面算法每日學(xué)計(jì)劃打卡問題描述對(duì)于長度為位的一個(gè)串,每一位都可能是或,一共有種可能。

自己一直在思考,怎么把算法的訓(xùn)練做好,因?yàn)閭€(gè)人在算法這方面的掌握確實(shí)還不夠。因此,我現(xiàn)在想做一個(gè)“365算法每日學(xué)計(jì)劃”。

“計(jì)劃”的主要目的:

1、想通過這樣的方式監(jiān)督自己更努力的學(xué)習(xí)算法。

2、想和小伙伴們“組團(tuán)”一起來學(xué)習(xí)交流學(xué)習(xí)算法過程中的點(diǎn)點(diǎn)滴滴。

“計(jì)劃”的主要內(nèi)容:

1、數(shù)據(jù)結(jié)構(gòu)和算法的基礎(chǔ)知識(shí)鞏固。

2、逐步進(jìn)階的oj算法訓(xùn)練。

“計(jì)劃”的時(shí)間安排:每周三和周六

——說在前面

“算法每日學(xué)”計(jì)劃01打卡:
問題描述
對(duì)于長度為5位的一個(gè)01串,每一位都可能是0或1,一共有32種可能。它們的前幾個(gè)是:

00000

00001

00010

00011

00100

請(qǐng)按從小到大的順序輸出這32種01串。

輸入格式

本試題沒有輸入。

輸出格式

輸出32行,按從小到大的順序每行一個(gè)長度為5的01串。

樣例輸出

00000

00001

00010

00011

<以下部分省略>

解題思路與實(shí)現(xiàn)

如果有小伙伴很少接觸到這種題目的話,可能會(huì)覺得有點(diǎn)陌生,不知道從何下手,可能一開始我們能想到“最笨”的方法,但是也覺得挺有“娛樂性”的方法。

System.out.println("00000")
..........
System.out.println("11111")

這種方式是不是也能夠得到最后的結(jié)果,沒錯(cuò),當(dāng)然沒問題,但是,我們?cè)谒伎嫉臅r(shí)候可以一步一步來,嘗試多種方法,找到最優(yōu)解。

這種方法看來不太好,一是不夠靈活,二是敲代碼很累,所以,改進(jìn)一下。

這種方式是不是能夠更加靈活的解決這個(gè)問題,這個(gè)解決的方式就是我們常說的“暴力破解”,全部用for循環(huán)來遍歷所有的情況,如果找到符合的情況就輸出,但是我們會(huì)發(fā)現(xiàn),這個(gè)算法的時(shí)間復(fù)雜度是:O(n^5),這個(gè)方法比前一種方法更好了,但是還不是最好的答案。

public static void main(String[] args) {
        for (int i = 0; i < 32; i++) {
            String result = Integer.toBinaryString(i);
            int num = result.length();
                for (int j = 0; j < 5 - num; j++) {
                    result = "0" + result;
                }
                System.out.println(result);

    }

}

再來看看這種方法,這種方法的思路:通過jdk的方法Integer.toBinaryString()獲取到每個(gè)數(shù)字的二進(jìn)制,因?yàn)橐筝敵龅氖切稳?b>“11111”的五位數(shù)字,所以,我們還需要根據(jù)得到的二進(jìn)制的數(shù)字的長度,在這個(gè)字符串的前面加上5 - num個(gè)“0”,比如,得到的二進(jìn)制是1(長度為1),所以在1的前面要加上5-(num=1)等于4個(gè)0。

是不是特別的簡(jiǎn)潔,而且這種方法的效率應(yīng)該也是不錯(cuò)的:O(n),因?yàn)檫@個(gè)是jdk提供的方法,在底層是用位移的方法來實(shí)現(xiàn)的(注:我們不推薦用jdk的方法來解決,我們盡量用自己思考的方法來解決,就算這個(gè)方法“笨”,但是也是自己思考了)。

當(dāng)然,如果我們換個(gè)角度,也可以的到另一種解法。

 public static void main(String args[]){ 
        for(int i=0;i<32;i++){ 
            String str = Integer.toBinaryString(i); 
            switch (str.length()) { 
            case 1: 
                str = "0000"+str; 
                break; 
            case 2: 
                str = "000"+str;
                break;
            case 3:
                str = "00"+str;
                break;
            case 4:
                str = "0"+str;
                break;
            }
                System.out.println(str);

        }
    }
}

這種解法只是用switch-case的方式來解決而已,思路和上面一樣。

最后再來一種不用jdk的方法來解決:

這種方法的思路先不提供,留給小伙伴們自己思考,如果小伙伴有自己的想法,歡迎小伙伴們?cè)?strong>留言區(qū)給出你的想法或者解法。

另外,還創(chuàng)建了一個(gè)“算法每日學(xué)交流社區(qū)”,如果有想加入的小伙伴,可以掃一下下面的二維碼加我為好友,我拉你入群(注:以上的有幾種算法來自“算法每日學(xué)交流社區(qū)”的小伙伴們)。

文章有不當(dāng)之處,歡迎指正,你也可以關(guān)注我的微信公眾號(hào):好好學(xué)java,獲取優(yōu)質(zhì)學(xué)習(xí)資源。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/69632.html

相關(guān)文章

  • 365算法每日學(xué)計(jì)劃”:03打卡-貪心算法

    摘要:貪心算法一基本概念所謂貪心算法是指,在對(duì)問題求解時(shí),總是做出在當(dāng)前看來是最好的選擇。實(shí)際上,貪心算法適用的情況很少。值得注意的是,貪心算法并不是完全不可以使用,貪心策略一旦經(jīng)過證明成立后,它就是一種高效的算法。 自從開始做公眾號(hào)開始,就一直在思考,怎么把算法的訓(xùn)練做好,因?yàn)樗己M瑢W(xué)在算法這方面的掌握確實(shí)還不夠。因此,我現(xiàn)在想做一個(gè)365算法每日學(xué)計(jì)劃。 計(jì)劃的主要目的: 1、想通過這...

    isaced 評(píng)論0 收藏0
  • Tornado數(shù)據(jù)分析及數(shù)據(jù)可視化(一)

    摘要:僅值班時(shí)間及前后半個(gè)小時(shí)內(nèi)打卡有效。上班下班均須打卡,缺打卡則視為未值班。分析表格我的指紋考勤機(jī)可以一次導(dǎo)出最多一個(gè)月的打卡記錄。有一個(gè)問題是,這一個(gè)月可能橫跨兩個(gè)月,也可能橫跨一年。分析當(dāng)月當(dāng)年的考勤記錄同理,不過可能稍微復(fù)雜一些。 前面的話 今天公司突然有個(gè)緊急任務(wù)是讀取excel表格,然后清洗并展示里面的數(shù)據(jù)。 分配給我的任務(wù)是?。?! 寫網(wǎng)頁前端表單=。= 媽蛋,可是我很想...

    Simon 評(píng)論0 收藏0
  • 【萬人千題】大學(xué)算法社區(qū)火爆開啟,每日打卡學(xué)習(xí),誠邀妳的加入

    摘要:三結(jié)對(duì)編程排位賽四個(gè)人為一組,由隊(duì)長帶隊(duì)刷題,每周根據(jù)這周四個(gè)人的刷題總數(shù)進(jìn)行隊(duì)伍間排名。萬人千題結(jié)對(duì)編程排位賽如果想?yún)⒓拥牡诙诘耐瑢W(xué),可以先聯(lián)系作者加群,看看第一期的同袍是如何奮斗的。 ...

    morgan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<