筆試題--求正確的 IP 地址

題目描述:給一串?dāng)?shù)字求出所有可能的 IP 地址

例:
輸入 25525511135
輸出 255.255.11.135 255.255.111.35

解題思路:
我暫時想到的只有一種最苯的方法就是不停循環(huán)然后輸出所有可能值趁舀。
1. 判斷是否為數(shù)字滞详,然后判斷長度如果為4或者16直接輸出答案欲鹏;
2. 定義變量 A统屈,B咳胃,C,D他們代表 IP 地址的部分脉顿;
3. 求出 A 的所有可能值糕档,然后 B 的起始位置是 A 的末位置,求出 B 的所有可能痊硕;
4. 按照求 B 的方法依次求出 C赊级,D ;
5. 找出長度符合題目要求的 IP 地址輸出即可岔绸。

示例代碼:

var strings = '11223344';
var A = '';

if (strings.length === 4 && !isNaN(strings)) {
    console.log(strings[0] + '.' + strings[1] + '.' + strings[2] + '.' + strings[3]);

} else if (strings.length === 16 && !isNaN(strings)) {

    console.log(strings.slice(0, 4) + '.' + strings.slice(4, 8) + '.' + strings.slice(8, 12) + '.' + strings.slice(12, 16))
    ;
} else if (strings.length > 4 && strings.length < 16 && !isNaN(strings)) {

    for (var a = 0; a < 3; a++) {
        
        A += strings[a];
        
        if (parseInt(A) > 0 && parseInt(A) <= 255) {
            
            var B = '';
            
            for (var b = A.length; B.length < 6 - A.length; b++) {
                
                B += strings[b];
                
                if (parseInt(B) > 0 && parseInt(B) <= 255) {
                    
                    var C = '';
                    
                    for (var c = B.length + A.length; C.length < 9 - A.length - B.length; c++) {
                        
                        C += strings[c];
                        
                        if (parseInt(C) > 0 && parseInt(C) <= 255) {
                            
                            var D = '';
                            
                            for (var d = B.length + A.length + C.length; D.length < 12 - B.length - A.length - C.length; d++) {
                               
                                D += strings[d];
                               
                                if (parseInt(D) > 0 && parseInt(D) < 255) {
                                 
                                    if (A.length + B.length + C.length + D.length === strings.length) {
                                 
                                        console.log(A + '.' + B + '.' + C + '.' + D);
                                    }

                                }
                            }
                        }
                    }
                }
            }
        }
    }
} else {
    console.log('error')
}

備注:這是一種最苯的辦法不可取的理逊,暫時記錄如果找到更好的方法再優(yōu)化代碼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盒揉,一起剝皮案震驚了整個濱河市晋被,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刚盈,老刑警劉巖羡洛,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異藕漱,居然都是意外死亡欲侮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門肋联,熙熙樓的掌柜王于貴愁眉苦臉地迎上來威蕉,“玉大人,你說我怎么就攤上這事牺蹄⊥。” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵沙兰,是天一觀的道長氓奈。 經(jīng)常有香客問我,道長鼎天,這世上最難降的妖魔是什么舀奶? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮斋射,結(jié)果婚禮上育勺,老公的妹妹穿的比我還像新娘。我一直安慰自己罗岖,他們只是感情好涧至,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著桑包,像睡著了一般南蓬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天赘方,我揣著相機與錄音烧颖,去河邊找鬼。 笑死窄陡,一個胖子當(dāng)著我的面吹牛炕淮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播跳夭,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼涂圆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了优妙?” 一聲冷哼從身側(cè)響起乘综,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤憎账,失蹤者是張志新(化名)和其女友劉穎套硼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胞皱,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡邪意,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了反砌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雾鬼。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宴树,靈堂內(nèi)的尸體忽然破棺而出策菜,到底是詐尸還是另有隱情,我是刑警寧澤酒贬,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布又憨,位于F島的核電站,受9級特大地震影響锭吨,放射性物質(zhì)發(fā)生泄漏蠢莺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一零如、第九天 我趴在偏房一處隱蔽的房頂上張望躏将。 院中可真熱鬧,春花似錦考蕾、人聲如沸祸憋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚯窥。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沟沙,已是汗流浹背河劝。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留矛紫,地道東北人赎瞎。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像颊咬,于是被迫代替她去往敵國和親务甥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

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

  • 名詞延伸 通俗的說挺尿,域名就相當(dāng)于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你炊邦。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,591評論 2 57
  • 網(wǎng)絡(luò)層簡介 1. 概念 為解決經(jīng)由多條鏈路的交付問題编矾,從而設(shè)計了網(wǎng)絡(luò)層。其主要負(fù)責(zé)主機到主機的交付馁害,并且在分組經(jīng)過...
    顧慎為閱讀 3,095評論 0 0
  • 1.這篇文章不是本人原創(chuàng)的窄俏,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,049評論 6 174
  • 個人認(rèn)為碘菜,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記凹蜈,這雖然只是...
    貳零壹柒_fc10閱讀 5,051評論 0 8
  • 珊珊是我的運營同事仰坦,關(guān)注核心用戶的內(nèi)容貢獻(xiàn)。 在用戶運營這件事上吊骤,她覺得自己遇到了瓶頸缎岗,不知道目前的難題怎么攻克。...
    韓敘閱讀 2,934評論 17 72