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

資訊專(zhuān)欄INFORMATION COLUMN

【算法】算法測(cè)試題1:循環(huán)單詞

dingding199389 / 557人閱讀

摘要:題目描述循環(huán)單詞一個(gè)單詞循環(huán)右移得到另一個(gè)單詞。輸出循環(huán)單詞種數(shù)。注意如果單詞沒(méi)有和任何單詞構(gòu)成循環(huán)單詞,那么也為一種循環(huán)單詞,。

題目描述
循環(huán)單詞:一個(gè)單詞循環(huán)右移得到另一個(gè)單詞。
例如:picture和turepic屬于一種循環(huán)單詞。
給出n個(gè)單詞,統(tǒng)計(jì)有多少種循環(huán)單詞。
輸入
輸入n+1行
第一行為單詞個(gè)數(shù)n(n:[1,50])
接下來(lái)n行,每一行一個(gè)單詞,小寫(xiě)構(gòu)成。
輸出
循環(huán)單詞種數(shù)。
思路

從第一個(gè)單詞開(kāi)始,遍歷每個(gè)單詞。
每個(gè)沒(méi)有被統(tǒng)計(jì)過(guò)的單詞i都和后面所有沒(méi)有統(tǒng)計(jì)過(guò)的單詞j比較,是否構(gòu)成循環(huán)單詞。
如果構(gòu)成循環(huán)單詞且該循環(huán)單詞沒(méi)有被統(tǒng)計(jì)過(guò),統(tǒng)計(jì)數(shù)cont+1并且標(biāo)記j為統(tǒng)計(jì)過(guò)use[j]=true;
如果構(gòu)成循環(huán)單詞但是沒(méi)被統(tǒng)計(jì)過(guò),則標(biāo)記j為統(tǒng)計(jì)過(guò)use[j]=true,不再統(tǒng)計(jì);
如果不夠循環(huán)單詞,則不統(tǒng)計(jì)也不標(biāo)記,不做任何操作。
注意:如果單詞i沒(méi)有和任何單詞構(gòu)成循環(huán)單詞,那么也為一種循環(huán)單詞,count+1。

tips:字符串循環(huán)右移使用substring方法

use[i]記錄第i個(gè)單詞是否被統(tǒng)計(jì)過(guò)
count用來(lái)統(tǒng)計(jì)循環(huán)單詞個(gè)數(shù)
flag表示目前正在訪問(wèn)的這個(gè)循環(huán)單詞是否被統(tǒng)計(jì)過(guò),如果被統(tǒng)計(jì)過(guò)就不再統(tǒng)計(jì)

javascript解法
while(line=readline()){
    let n = parseInt(line);
    let strArr = new Array();
    let use = [];
    for(let i = 0; i < n; i++){
        strArr[i] = new Array(readline());
        use[i] = false;
    }
    let count = 0;
    let flag = false;
    for(let i = 0; i < n; i++){
        if(!use[i]){    //單詞i沒(méi)有被統(tǒng)計(jì)過(guò)
            use[i] = true;    //標(biāo)記單詞i被統(tǒng)計(jì)過(guò)
            flag = false;     //目前該種循環(huán)單詞沒(méi)有被統(tǒng)計(jì)過(guò)
            for(let j = i+1; j < n; j++){    //和i單詞后面的每個(gè)沒(méi)有被統(tǒng)計(jì)過(guò)的 單詞比較
                if(!use[j]){//只和沒(méi)有被統(tǒng)計(jì)過(guò)的單詞j比較
                    if(same(strArr[i],strArr[j])){//比較i和j是否為循環(huán)單詞
                        if(!flag){//如果這種循環(huán)單詞沒(méi)有統(tǒng)計(jì),則統(tǒng)計(jì)+1
                            count++;
                            flag = true;
                        }
                        use[j] = true;
                    }
                }
            }
            if(!flag){//單詞i這種循環(huán)單詞沒(méi)有被統(tǒng)計(jì)過(guò),不和任何單詞構(gòu)成循環(huán)單詞
                count++;
            }
        }
    } 
    print(count);
}
//判斷兩個(gè)單詞是否為循環(huán)單詞
function same(stra, strb){
    //轉(zhuǎn)成字符串類(lèi)型,否則為對(duì)象object類(lèi)型,length=1
    let str1 = new String(stra);
    let str2 = new String(strb);
    if(str1.length != str2.length){//長(zhǎng)度不一樣必然不能構(gòu)成循環(huán)單詞
        return false;
    }
    for(let i = 0; i < str1.length; i++){
        //循環(huán)右移,每次右移一位,比較兩個(gè)單詞是否相等
        //字符串循環(huán)右移使用substring方法
        let str = str1.substring(i)+ str1.substring(0,i);
        if(str == str2){
            return true;
        }
    }
    return false;
}

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

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

相關(guān)文章

  • JavaScript中的算法(附10道面試常見(jiàn)算法題解決方法和思路)

    摘要:中的算法附道面試常見(jiàn)算法題解決方法和思路關(guān)注每日一道面試題詳解面試過(guò)程通常從最初的電話(huà)面試開(kāi)始,然后是現(xiàn)場(chǎng)面試,檢查編程技能和文化契合度。值得記住的數(shù)組方法有和。一個(gè)好的解決方案是使用內(nèi)置的方法。 JavaScript中的算法(附10道面試常見(jiàn)算法題解決方法和思路) 關(guān)注github每日一道面試題詳解 Introduction 面試過(guò)程通常從最初的電話(huà)面試開(kāi)始,然后是現(xiàn)場(chǎng)面試,檢查編程...

    Cruise_Chan 評(píng)論0 收藏0
  • 基于概率論的分類(lèi)方法:樸素貝葉斯

    摘要:基于概率論的分類(lèi)方法樸素貝葉斯概述貝葉斯分類(lèi)是一類(lèi)分類(lèi)算法的總稱(chēng),這類(lèi)算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱(chēng)為貝葉斯分類(lèi)。另外一種有效計(jì)算條件概率的方法稱(chēng)為貝葉斯準(zhǔn)則。可以在任意的分類(lèi)場(chǎng)景中使用樸素貝葉斯分類(lèi)器,不一定非要是文本。 基于概率論的分類(lèi)方法:樸素貝葉斯 1. 概述 貝葉斯分類(lèi)是一類(lèi)分類(lèi)算法的總稱(chēng),這類(lèi)算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱(chēng)為貝葉斯分類(lèi)。本章首先介紹貝葉斯分類(lèi)算法的基礎(chǔ)—...

    LeviDing 評(píng)論0 收藏0
  • 每日一道算法題 - LongestWord(easy-1)

    摘要:規(guī)則使用語(yǔ)言,讓函數(shù)獲取傳遞的參數(shù)并返回字符串中的最大單詞。忽略字符串中標(biāo)點(diǎn)符號(hào)并假設(shè)不會(huì)為空。測(cè)試用例思路通過(guò)過(guò)濾字符串,并把字符串根據(jù)空格符轉(zhuǎn)換成字符串?dāng)?shù)組通過(guò)循環(huán)把獲取字符串?dāng)?shù)組中的長(zhǎng)度最長(zhǎng)的字符串 雖然都是很簡(jiǎn)單的算法,每個(gè)都只需5分鐘左右,但寫(xiě)起來(lái)總會(huì)遇到不同的小問(wèn)題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaS...

    plokmju88 評(píng)論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法 這題你會(huì)嗎?

    摘要:第題反轉(zhuǎn)字符串中的單詞給定一個(gè)字符串,你需要反轉(zhuǎn)字符串中每個(gè)單詞的字符順序,同時(shí)仍保留空格和單詞的初始順序。示例輸入輸出注意在字符串中,每個(gè)單詞由單個(gè)空格分隔,并且字符串中不會(huì)有任何額外的空格。 LeetCode 第557題 557. 反轉(zhuǎn)字符串中的單詞 III 給定一個(gè)字符串,你需要反轉(zhuǎn)字符串中每個(gè)單詞的字符順序,同時(shí)仍保留空格和單詞的初始順序。 示例 1: 輸入: Lets tak...

    Olivia 評(píng)論0 收藏0
  • W3Cschool——初級(jí)腳本算法

    摘要:方法二提供者沐辰樓姬采用對(duì)象的方法取值優(yōu)化內(nèi)部循環(huán)性能確認(rèn)末尾字符算法挑戰(zhàn)檢查一個(gè)字符串是否以指定的字符串結(jié)尾。方法一方法二提供者沐辰樓姬使用數(shù)組對(duì)象方法,把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值。 showImg(https://segmentfault.com/img/remote/1460000009702368?w=1269&h=541); 前言 偶然看到W3Csch...

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

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

0條評(píng)論

dingding199389

|高級(jí)講師

TA的文章

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