成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

937-重新排列日志文件

cgspine / 1524人閱讀

摘要:前言的第一題重新排列日志文件你有一個(gè)日志數(shù)組。將日志重新排序,使得所有字母日志都排在數(shù)字日志之前。字母日志按字母順序排序,忽略標(biāo)識符,標(biāo)識符僅用于表示關(guān)系。

前言

Weekly Contest 110的第一題 重新排列日志文件:

你有一個(gè)日志數(shù)組 logs。每條日志都是以空格分隔的字串。

對于每條日志,其第一個(gè)字為字母數(shù)字標(biāo)識符。然后,要么:

標(biāo)識符后面的每個(gè)字將僅由小寫字母組成,或;

標(biāo)識符后面的每個(gè)字將僅由數(shù)字組成。

我們將這兩種日志分別稱為字母日志和數(shù)字日志。保證每個(gè)日志在其標(biāo)識符后面至少有一個(gè)字。

將日志重新排序,使得所有字母日志都排在數(shù)字日志之前。字母日志按字母順序排序,忽略標(biāo)識符,標(biāo)識符僅用于表示關(guān)系。數(shù)字日志應(yīng)該按原來的順序排列。

返回日志的最終順序

示例:

輸入:["a1 9 2 3 1","g1 act car","zo4 4 7","ab1 off key dog","a8 act zoo"]
輸出:["g1 act car","a8 act zoo","ab1 off key dog","a1 9 2 3 1","zo4 4 7"]

提示:

0 <= logs.length <= 100

3 <= logs[i].length <= 100

logs[i] 保證有一個(gè)標(biāo)識符,并且標(biāo)識符后面有一個(gè)字。

解題思路

本題主要麻煩的地方是題目的描述有點(diǎn)難懂,其實(shí)是一道很簡單的題目。
首先分析題目中對于日志字母日志數(shù)字日志的定義:

日志:指的是日志文件(本題中為字符串?dāng)?shù)組)中的一行記錄,記錄的內(nèi)容為用空格分隔的字符串(后續(xù)稱為單詞),需要注意第一個(gè)單詞是標(biāo)識符用于排序。即 標(biāo)識符 單詞1 [單詞2 ...] 。

字母日志:指的是日志內(nèi)容除了標(biāo)識符部分外的單詞都由字母組成

數(shù)字日志:指的是日志內(nèi)容除了標(biāo)識符部分外的單詞都由數(shù)字組成

然后分析題目意思,得出字符串?dāng)?shù)組的處理思路:

對日志進(jìn)行分組,分為字母日志數(shù)字日志

字母日志重排序

字母日志數(shù)字日志聚合日志數(shù)據(jù)

實(shí)現(xiàn)代碼
    /**
     * 937. 重新排列日志文件
     * @param logs
     * @return
     */
    public String[] reorderLogFiles(String[] logs) {
        List letterLogs=new LinkedList<>();
        List digitLogs=new LinkedList<>();
        //日志分組
        for(String log:logs){
            char c=log.charAt(log.indexOf(" ")+1);
            if(c>=48 && c<=57){//是否包含數(shù)字
                digitLogs.add(log);
            }else{
                letterLogs.add(log);
            }
        }
        //字母日志排序
        letterLogs.sort(new Comparator() {

            @Override
            public int compare(String o1, String o2) {//只比較日志內(nèi)容
                String log1=o1.substring(o1.indexOf(" "));
                String log2=o2.substring(o2.indexOf(" "));
                return log1.compareTo(log2);
            }
        });
        //聚合日志
        letterLogs.addAll(digitLogs);
        return letterLogs.toArray(logs);
    }

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/72119.html

相關(guān)文章

  • Leetcode PHP題解--D54 937. Reorder Log Files

    摘要:題目鏈接題目分析給定一個(gè)數(shù)組,每一個(gè)元素是一條日志。剩余部分為全為小寫字母的字符串稱為字符日志或全為數(shù)字的字符串稱為數(shù)字日志。給定的數(shù)組中確定會至少有一個(gè)字母。遍歷完成后,對字符日志進(jìn)行排序。在其后拼接數(shù)字日志數(shù)組,并返回即可。 D54 937. Reorder Log Files 題目鏈接 937. Reorder Log Files 題目分析 給定一個(gè)數(shù)組,每一個(gè)元素是一條日志。 ...

    hot_pot_Leo 評論0 收藏0
  • [LeetCode] 937. Reorder Log Files

    Problem You have an array of logs. Each log is a space delimited string of words. For each log, the first word in each log is an alphanumeric identifier. Then, either: Each word after the identifier...

    nemo 評論0 收藏0
  • Fluented,Kubernetes和谷歌云平臺——處理日志流的解決方案

    摘要:最后,我們用和適當(dāng)?shù)莫?dú)特后綴來標(biāo)注數(shù)據(jù)流。將數(shù)據(jù)流分離到兩個(gè)不同的目的地在這里,我們解析自動定量日志,管理我們的緩沖區(qū),查詢和區(qū)塊大小。 也許你對Fluentd的統(tǒng)一日志記錄層已經(jīng)有所耳聞。可能你對日志是流不是文件這個(gè)概念也已經(jīng)很熟悉,所以現(xiàn)在就讓我們用這個(gè)方法來思考日志層。事實(shí)上,最后導(dǎo)致決定性的一點(diǎn)就是fluentd是如何被配置的。全部都是關(guān)于我們?nèi)绾翁幚韘tream的不同元素的:...

    ymyang 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<