摘要:前言前綴樹同系列的題目,可以用前綴樹的思路來存儲,只需要基于之前的前綴樹實現(xiàn)改造。對于方法,你將得到一對字符串,整數(shù)的鍵值對。字符串表示鍵,整數(shù)表示值。實例代碼的前綴字符子節(jié)點存儲的值,不為則為終止節(jié)點字符串表示鍵,整數(shù)表示值。
前言
前綴樹同系列的題目,可以用前綴樹的思路來存儲,只需要基于之前的前綴樹實現(xiàn)改造。原題目要求如下:
實現(xiàn)一個 MapSum 類里的兩個方法,insert 和 sum。實現(xiàn)思路對于方法 insert,你將得到一對(字符串,整數(shù))的鍵值對。字符串表示鍵,整數(shù)表示值。如果鍵已經(jīng)存在,那么原來的鍵值對將被替代成新的鍵值對。
對于方法 sum,你將得到一個表示前綴的字符串,你需要返回所有以該前綴開頭的鍵的值的總和。
示例 1:
輸入: insert("apple", 3), 輸出: Null
輸入: sum("ap"), 輸出: 3
輸入: insert("app", 2), 輸出: Null
輸入: sum("ap"), 輸出: 5
參考前綴樹實現(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
摘要:原題力扣鏈接鍵值映射題目簡述實現(xiàn)一個類,支持兩個方法,和初始化對象插入鍵值對,字符串表示鍵,整數(shù)表示值。如果鍵已經(jīng)存在,那么原來的鍵值對將被替代成新的鍵值對。返回所有以該前綴開頭的鍵的值的總和。 ...
摘要:解題思路這道題可以開掛一波,反向套娃,你讓我實現(xiàn)鍵值映射,那我就用鍵值映射實現(xiàn),直接定義一個,用來記錄和對,函數(shù)實現(xiàn)時,通過來統(tǒng)計擁有的值的和,代碼如下 解題思路...
摘要:在第二種方案中,我們封裝的結(jié)構(gòu)體類型的所有方法,都可以與類型的方法完全一致包括方法名稱和方法簽名。所以在設(shè)計這樣的結(jié)構(gòu)體類型的時候,只包含類型的字段就不夠了。當參數(shù)或的實際類型不符合要求時,方法會立即引發(fā)。35 | 并發(fā)安全字典sync.Map (下)我們在上一篇文章中談到了,由于并發(fā)安全字典提供的方法涉及的鍵和值的類型都是interface{},所以我們在調(diào)用這些方法的時候,往往還需要對鍵...
摘要:在最近寫程序題的時候,需要存儲一個為為的后來需要根據(jù)的長度對從小到大進行排序。用代替,然后中的元素為配對類,變相實現(xiàn)了一個鍵對應(yīng)一個值的集合,并且能夠排序。 在最近寫程序題的時候,需要存儲一個key為char,value為string的map,后來需要根據(jù)string的長度對map從小到大進行排序。 showImg(https://segmentfault.com/img/bVbiZz...
摘要:題目鏈接和還有是一類題,解法都差不多??梢宰?,但是這道題如果輸入是有序的,簡單的會超時,所以得用來做。算的方法是比如給的例子,現(xiàn)在分成了左右兩部分,拿兩個指針和。 493. Reverse Pairs 題目鏈接:https://leetcode.com/problems... 和Count of Smaller Numbers After Self還有count of range su...
閱讀 2961·2021-11-24 09:39
閱讀 3272·2021-11-19 10:00
閱讀 1611·2021-10-27 14:17
閱讀 1888·2021-10-14 09:43
閱讀 1048·2021-09-03 10:30
閱讀 3486·2019-08-30 15:54
閱讀 2818·2019-08-30 13:05
閱讀 2109·2019-08-30 11:02