有个感觉,做题的过程,像是抽象地实现底层原理;
无论最终结果如何,都会有所收获,加深对于底层原理的理解;
从今天开始,打算弄个错题本~
题目描述
数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
示例1
输入
4
0 1
0 2
1 2
3 4
输出
0 3
1 2
3 4
实现的方式有蛮多,比如将得到的数据,存到数组中,遍历合并相同的arr[0](即索引)
我这里实现的是用数组索引来实现的,定义数组,当数组;
并将第一个arr[0]真的存储为数组的索引,如果没有值,就添加,如果索引中有值,则相加
tmp.forEach((data,index)=>{
console.info(index,data)
})
本地和在线调试代码的原理是一样的,区别是两者的数据输入方式是不一样的
每次看到通说的弹窗,都会比较开心~
通过弹窗
看了下其他大神,通过的代码,从占用内存上,已经达到最优内存占比。
但运行时间多了2ms~
之后需要看看,时间复杂度怎么可以降下来~
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201?tpId=37&&tqId=21231&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking
以上