亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

時(shí)間以半點(diǎn)為單位相連的算法

KoreyLee / 1593人閱讀

摘要:背景在做廣點(diǎn)通信息流數(shù)據(jù)獲取的時(shí)候有這么一個(gè)字段投放時(shí)間段,格式為位字符串,且都為和,以半個(gè)小時(shí)為最小粒度,從周一零點(diǎn)開始至周日點(diǎn)結(jié)束。為不投放,為投放,全傳視為全時(shí)段投放,不允許全部傳。

背景

在做廣點(diǎn)通信息流數(shù)據(jù)獲取的時(shí)候有這么一個(gè)字段:time_series 投放時(shí)間段,格式為 48 * 7 位字符串,且都為 0 和 1,以半個(gè)小時(shí)為最小粒度,從周一零點(diǎn)開始至周日 24 點(diǎn)結(jié)束。0 為不投放,1 為投放,全傳 1 視為全時(shí)段投放,不允許全部傳 0。朋友圈廣告的投放時(shí)間需大于等于 6 小時(shí),小于等于 30 個(gè)自然日,且每天投放的時(shí)段需保持一致。在實(shí)際的數(shù)據(jù)獲取返回結(jié)果為:

000000000000001111111111111000000011111111111111000000000000001111111111111000000011111111111111000000000000001111111111111000000011111111111111000000000000001111111111111000000011111111111111000000000000001111111111111000000011111111111111000000000000001111111111111000000011111111111111000000000000001111111111111000000011111111111111

需求方提出需要將此字段進(jìn)行格式化,格式化后的字段格式為:

[1, 2, 3, 4, 5, 6, 7]7:00-13:30,17:00-24:00
方法

由于時(shí)間比較緊促,簡(jiǎn)單寫了個(gè)方法記錄下,后面再回來

    private String formatTimeSeries(String timeSeries)
    {
        Map> weekTimeMap = new LinkedHashMap<>();
        if(!timeSeries.matches("[0-1]{336}")) {
            return "";
        }
        for (int i = 0; i < timeSeries.length(); i++) {
            if(!String.valueOf(timeSeries.charAt(i)).equals("1")) {
                continue;
            }
            int day = i/48 + 1;
            List list = weekTimeMap.get(day);
            if(null == list) {
                list = new ArrayList<>();
            }
            list.add((i%48)/2+(i%48%2==1?":30":":00"));
            weekTimeMap.put(day,list);
        }
        Map> timeWeekMap = new HashMap<>();
        for(Integer i : weekTimeMap.keySet()){
            List list = weekTimeMap.get(i);
            String formatTimeSeries = "";
            while (list.size() > 0) {
                String startTime = list.get(0);
                list.remove(0);
                String startHour = startTime.split(":")[0];
                String startMinute = startTime.split(":")[1];
                String endTime = startMinute.equals("30") ? (Integer.valueOf(startHour) + 1) + ":00" : startHour + ":30";
                while (list.contains(endTime)) {
                    list.remove(endTime);
                    String endHour = endTime.split(":")[0];
                    String endMinute = endTime.split(":")[1];
                    endTime = endMinute.equals("30") ? (Integer.valueOf(endHour) + 1) + ":00" : endHour + ":30";
                }
                formatTimeSeries += (formatTimeSeries.length() == 0 ? "" : ",") + startTime + "-" + endTime;
            }
            List timeList = timeWeekMap.get(formatTimeSeries);
            if(null == timeList) {
                timeList = new ArrayList<>();
            }
            timeList.add(i);
            timeWeekMap.put(formatTimeSeries, timeList);
        }
        String formatTimeSeries = "";
        for(String time : timeWeekMap.keySet()){
            formatTimeSeries += (formatTimeSeries.length() == 0 ? "" : ";") + timeWeekMap.get(time).toString() + time;
        }
        return formatTimeSeries;
    }

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/74202.html

相關(guān)文章

  • 算法》第一章學(xué)習(xí)筆記js實(shí)現(xiàn)

    摘要:算法第一章學(xué)習(xí)筆記實(shí)現(xiàn)更多內(nèi)容目標(biāo)總結(jié)本書主要內(nèi)容,相應(yīng)算法使用來模仿實(shí)現(xiàn)在計(jì)算機(jī)科學(xué)領(lǐng)域,我們用算法這個(gè)詞來描述一種有限確定有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法。 《算法》第一章學(xué)習(xí)筆記js實(shí)現(xiàn) 更多內(nèi)容 目標(biāo):總結(jié)本書主要內(nèi)容,相應(yīng)算法使用js來模仿實(shí)現(xiàn) 在計(jì)算機(jī)科學(xué)領(lǐng)域,我們用算法這個(gè)詞來描述一種有限、確定、有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法。我們關(guān)注的大多...

    baishancloud 評(píng)論0 收藏0
  • 算法》第一章學(xué)習(xí)筆記js實(shí)現(xiàn)

    摘要:算法第一章學(xué)習(xí)筆記實(shí)現(xiàn)更多內(nèi)容目標(biāo)總結(jié)本書主要內(nèi)容,相應(yīng)算法使用來模仿實(shí)現(xiàn)在計(jì)算機(jī)科學(xué)領(lǐng)域,我們用算法這個(gè)詞來描述一種有限確定有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法。 《算法》第一章學(xué)習(xí)筆記js實(shí)現(xiàn) 更多內(nèi)容 目標(biāo):總結(jié)本書主要內(nèi)容,相應(yīng)算法使用js來模仿實(shí)現(xiàn) 在計(jì)算機(jī)科學(xué)領(lǐng)域,我們用算法這個(gè)詞來描述一種有限、確定、有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法。我們關(guān)注的大多...

    K_B_Z 評(píng)論0 收藏0
  • 算法》第一章學(xué)習(xí)筆記js實(shí)現(xiàn)

    摘要:算法第一章學(xué)習(xí)筆記實(shí)現(xiàn)更多內(nèi)容目標(biāo)總結(jié)本書主要內(nèi)容,相應(yīng)算法使用來模仿實(shí)現(xiàn)在計(jì)算機(jī)科學(xué)領(lǐng)域,我們用算法這個(gè)詞來描述一種有限確定有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法。 《算法》第一章學(xué)習(xí)筆記js實(shí)現(xiàn) 更多內(nèi)容 目標(biāo):總結(jié)本書主要內(nèi)容,相應(yīng)算法使用js來模仿實(shí)現(xiàn) 在計(jì)算機(jī)科學(xué)領(lǐng)域,我們用算法這個(gè)詞來描述一種有限、確定、有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法。我們關(guān)注的大多...

    qingshanli1988 評(píng)論0 收藏0
  • 算法(第4版) Chapter 4.4 最短路徑

    摘要:相關(guān)操作就是判斷的不等號(hào)符號(hào)改反,初始值設(shè)為負(fù)無窮副本的最短路徑即為原圖的最長(zhǎng)路徑。方法是同上面一樣構(gòu)造圖,同時(shí)會(huì)添加負(fù)權(quán)重邊,再將所有邊取反,然后求最短路徑最短路徑存在則可行沒有負(fù)權(quán)重環(huán)就是可行的調(diào)度。 Algorithms Fourth EditionWritten By Robert Sedgewick & Kevin WayneTranslated By 謝路云Chapter ...

    leap_frog 評(píng)論0 收藏0
  • 數(shù)據(jù)可視化之 Sankey ?;鶊D實(shí)現(xiàn)

    摘要:由此觀之,實(shí)現(xiàn)?;鶊D的核心在于計(jì)算出以上的這些點(diǎn)坐標(biāo)。減少邊交叉當(dāng)數(shù)據(jù)量到一定程度的時(shí)候,?;鶊D中的邊會(huì)出現(xiàn)重疊現(xiàn)象,造成一定的視覺混亂。綜上,?;鶊D是一個(gè)展現(xiàn)數(shù)據(jù)流非常好用的視圖,感興趣的同學(xué)可以自己實(shí)現(xiàn)一個(gè)試試。 原文地址:https://geekplux.com/2018/08/28/how-to-implement-sankey-diagram.html 什么是?;鶊D sho...

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

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

0條評(píng)論

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