国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

華為OD機(jī)考真題--數(shù)大雁--帶答案

這篇具有很好參考價(jià)值的文章主要介紹了華為OD機(jī)考真題--數(shù)大雁--帶答案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

2023華為OD統(tǒng)一考試(A+B卷)題庫清單-帶答案(持續(xù)更新)or2023年華為OD真題機(jī)考題庫大全-帶答案(持續(xù)更新)

題目描述:

一群大雁往南飛,給定一個(gè)字符串記錄地面上的游客聽到的大雁叫聲,請(qǐng)給出叫聲最少由幾只大雁發(fā)出。具體的

1.大雅發(fā)出的完整叫聲為”quack“,因?yàn)橛卸嘀淮笱阃粫r(shí)間嘎嘎作響,所以字符串中可能會(huì)混合多個(gè)”quack”

2.大雁會(huì)依次完整發(fā)出”quack”,即字符串中'q,u,a,c,k這5個(gè)字母按順序完整存

在才能計(jì)數(shù)為一只大雁如果不完整或者沒有按順序則不予計(jì)數(shù)。

3.如果字符串不是由'q,u',a',c,k字符組合而成,或者沒有找到一只大雁,請(qǐng)返回-1.

輸入描述:

一個(gè)字符串,包含大雁quack的叫聲。1<=字符串長度<=1000,字符串中的字符只有

q,u,a',c,k

輸出描述

大雁的數(shù)量

用例:

輸入->輸出

quackquack--> 1

qaauucqckk--> -1

quacqkuac --> 1

qququaauqccauqkkcauqqkcauqqkcaaukccakkkck --> 5

quackqquackuackqqqqquack --> 2文章來源地址http://www.zghlxwxcb.cn/news/detail-621867.html

/**
 思路:最小幾只大雁在叫
 1. 從頭取開始遍歷的完整的quack
 2. 遍歷字符串統(tǒng)計(jì)所有的這個(gè)quack中有幾個(gè)q(t)放在list中
 3. 在統(tǒng)計(jì)全部的字符串中判斷能滿足這t個(gè)q對(duì)應(yīng)數(shù)量的quack最小值
 4. 取list中值跟小于t的最小值比較
 6. 返回t or n
 */
public class CountGeese {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String sound = sc.nextLine();
        Character[] soundType = {'q','u','a','c','k'};
        List<Character> record = new ArrayList<>(Arrays.asList(soundType));
        int value = count(sound,record);
        System.out.println(value);
    }

    //qququaauqccauqkkcauqqkcauqqkcaaukccakkkck  quackqquackuackqqqqquack
    public static int count(String sound, List<Character> record){
        List<Integer> qList = new ArrayList<>();
        int countq = 0;
        int index = 0;
        int len = record.size();
        //統(tǒng)計(jì)滿足條件的q值數(shù)量
        for (int i = 0; i < sound.length(); i++){
            if (sound.charAt(i) == 'q'){
                countq++;
            }
            if (sound.charAt(i) == record.get(index)){
                if (index == len -1){
                    qList.add(countq);
                    countq = 0;
                    index = 0;
                    continue;
                }
                index++;
            }
        }
        if (qList.size() == 0){
            return -1;
        }
        //統(tǒng)計(jì)下所有q u a c k的值
        int q = 0;
        int u = 0;
        int a = 0;
        int c = 0;
        int k = 0;
        for (int i = 0; i < sound.length(); i++) {
            switch (sound.charAt(i)){
                case 'q':
                    q++;
                    break;
                case 'u':
                    u++;
                    break;
                case 'a':
                    a++;
                    break;
                case 'c':
                    c++;
                    break;
                case 'k':
                    k++;
                    break;
            }
        }
        //取 q u a c k最小值
        int min = Math.min(Math.min(Math.min(q, u), Math.min(a, c)), k);
        Collections.sort(qList,(m,n) -> n-m);
        for (int i = 0; i < qList.size(); i++){
            if (qList.get(i) <= min){
                return (qList.get(i));
            }
        }
        return min;
    }

}

到了這里,關(guān)于華為OD機(jī)考真題--數(shù)大雁--帶答案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包