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

資訊專欄INFORMATION COLUMN

677-鍵值映射(Map Sum Pairs)

YorkChen / 1002人閱讀

摘要:前言前綴樹(shù)同系列的題目,可以用前綴樹(shù)的思路來(lái)存儲(chǔ),只需要基于之前的前綴樹(shù)實(shí)現(xiàn)改造。對(duì)于方法,你將得到一對(duì)字符串,整數(shù)的鍵值對(duì)。字符串表示鍵,整數(shù)表示值。實(shí)例代碼的前綴字符子節(jié)點(diǎn)存儲(chǔ)的值,不為則為終止節(jié)點(diǎn)字符串表示鍵,整數(shù)表示值。

前言

前綴樹(shù)同系列的題目,可以用前綴樹(shù)的思路來(lái)存儲(chǔ),只需要基于之前的前綴樹(shù)實(shí)現(xiàn)改造。原題目要求如下:

實(shí)現(xiàn)一個(gè) MapSum 類里的兩個(gè)方法,insert 和 sum。

對(duì)于方法 insert,你將得到一對(duì)(字符串,整數(shù))的鍵值對(duì)。字符串表示鍵,整數(shù)表示值。如果鍵已經(jīng)存在,那么原來(lái)的鍵值對(duì)將被替代成新的鍵值對(duì)。

對(duì)于方法 sum,你將得到一個(gè)表示前綴的字符串,你需要返回所有以該前綴開(kāi)頭的鍵的值的總和。

示例 1:

輸入: insert("apple", 3), 輸出: Null
輸入: sum("ap"), 輸出: 3
輸入: insert("app", 2), 輸出: Null
輸入: sum("ap"), 輸出: 5

實(shí)現(xiàn)思路

參考前綴樹(shù)實(shí)現(xiàn)的思路,把節(jié)點(diǎn)中的boolean變量改為鍵值對(duì)的值

sum方法的時(shí)候首先要找到匹配前綴的節(jié)點(diǎn),然后用層序遍歷(廣度優(yōu)先)方式去遍歷這個(gè)節(jié)點(diǎn)的子樹(shù)。遍歷的時(shí)候使用遞歸進(jìn)行遍歷。

實(shí)例代碼
public class MapSum {
    /**
     * key的前綴字符
     */
    char keyPrefix;
    /**
     * 子節(jié)點(diǎn)
     */
    MapSum[] children;
    /**
     * 存儲(chǔ)的值,不為0則為終止節(jié)點(diǎn)
     */
    int value;

    /** Initialize your data structure here. */
    public MapSum() {
        children=new MapSum[26];
        value=0;
    }

    /**
     * 字符串表示鍵,整數(shù)表示值。如果鍵已經(jīng)存在,那么原來(lái)的鍵值對(duì)將被替代成新的鍵值對(duì)。
     * @param key 鍵
     * @param val 值
     */
    public void insert(String key, int val) {
        if(key!=null){
            //分解成字符數(shù)組
            char[] charArr=key.toCharArray();
            //模擬指針操作,記錄當(dāng)前訪問(wèn)到的樹(shù)的節(jié)點(diǎn)
            MapSum currentNode=this;
            for(int i=0;i           
               
                                           
                       
                 

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

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

相關(guān)文章

  • 【快樂(lè)水題】677. 鍵值映射

    摘要:原題力扣鏈接鍵值映射題目簡(jiǎn)述實(shí)現(xiàn)一個(gè)類,支持兩個(gè)方法,和初始化對(duì)象插入鍵值對(duì),字符串表示鍵,整數(shù)表示值。如果鍵已經(jīng)存在,那么原來(lái)的鍵值對(duì)將被替代成新的鍵值對(duì)。返回所有以該前綴開(kāi)頭的鍵的值的總和。 ...

    sean 評(píng)論0 收藏0
  • LeetCode 677 鍵值映射[Map] HERODING的LeetCode之路

    摘要:解題思路這道題可以開(kāi)掛一波,反向套娃,你讓我實(shí)現(xiàn)鍵值映射,那我就用鍵值映射實(shí)現(xiàn),直接定義一個(gè),用來(lái)記錄和對(duì),函數(shù)實(shí)現(xiàn)時(shí),通過(guò)來(lái)統(tǒng)計(jì)擁有的值的和,代碼如下 解題思路...

    zilu 評(píng)論0 收藏0
  • Go語(yǔ)言核心36講(Go語(yǔ)言實(shí)戰(zhàn)與應(yīng)用十三)--學(xué)習(xí)筆記

    摘要:在第二種方案中,我們封裝的結(jié)構(gòu)體類型的所有方法,都可以與類型的方法完全一致包括方法名稱和方法簽名。所以在設(shè)計(jì)這樣的結(jié)構(gòu)體類型的時(shí)候,只包含類型的字段就不夠了。當(dāng)參數(shù)或的實(shí)際類型不符合要求時(shí),方法會(huì)立即引發(fā)。35 | 并發(fā)安全字典sync.Map (下)我們?cè)谏弦黄恼轮姓劦搅耍捎诓l(fā)安全字典提供的方法涉及的鍵和值的類型都是interface{},所以我們?cè)谡{(diào)用這些方法的時(shí)候,往往還需要對(duì)鍵...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • java 鍵值對(duì) 按值排序

    摘要:在最近寫(xiě)程序題的時(shí)候,需要存儲(chǔ)一個(gè)為為的后來(lái)需要根據(jù)的長(zhǎng)度對(duì)從小到大進(jìn)行排序。用代替,然后中的元素為配對(duì)類,變相實(shí)現(xiàn)了一個(gè)鍵對(duì)應(yīng)一個(gè)值的集合,并且能夠排序。 在最近寫(xiě)程序題的時(shí)候,需要存儲(chǔ)一個(gè)key為char,value為string的map,后來(lái)需要根據(jù)string的長(zhǎng)度對(duì)map從小到大進(jìn)行排序。 showImg(https://segmentfault.com/img/bVbiZz...

    Moxmi 評(píng)論0 收藏0
  • 493. Reverse Pairs

    摘要:題目鏈接和還有是一類題,解法都差不多。可以做,但是這道題如果輸入是有序的,簡(jiǎn)單的會(huì)超時(shí),所以得用來(lái)做。算的方法是比如給的例子,現(xiàn)在分成了左右兩部分,拿兩個(gè)指針和。 493. Reverse Pairs 題目鏈接:https://leetcode.com/problems... 和Count of Smaller Numbers After Self還有count of range su...

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

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

0條評(píng)論

閱讀需要支付1元查看
<