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

資訊專欄INFORMATION COLUMN

677-鍵值映射(Map Sum Pairs)

YorkChen / 1064人閱讀

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

前言

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

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

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

對于方法 sum,你將得到一個表示前綴的字符串,你需要返回所有以該前綴開頭的鍵的值的總和。

示例 1:

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

實現(xiàn)思路

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

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

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

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

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

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

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

相關(guān)文章

  • 【快樂水題】677. 鍵值映射

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

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

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

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

    摘要:在第二種方案中,我們封裝的結(jié)構(gòu)體類型的所有方法,都可以與類型的方法完全一致包括方法名稱和方法簽名。所以在設(shè)計這樣的結(jié)構(gòu)體類型的時候,只包含類型的字段就不夠了。當參數(shù)或的實際類型不符合要求時,方法會立即引發(fā)。35 | 并發(fā)安全字典sync.Map (下)我們在上一篇文章中談到了,由于并發(fā)安全字典提供的方法涉及的鍵和值的類型都是interface{},所以我們在調(diào)用這些方法的時候,往往還需要對鍵...

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

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

    Moxmi 評論0 收藏0
  • 493. Reverse Pairs

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

    acrazing 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<