
散列
文章平均质量分 72
散列
繁星蓝雨
Happy coding!
展开
-
2006. Count Number of Pairs With Absolute Difference K(的绝对值为 K 的数对数目)————附带详细代码和解析
文章目录0 效果1 题目2 思路2.1 思路12.2 哈希3 代码3.1 思路13.2 思路20 效果1 题目2 思路2.1 思路1暴力枚举2.2 哈希数组(hash)统计向量中每个元素出现的个数,然后i从1到i+k<101开始遍历,结果集等于累加hash[i]*hash[i+k]的和。3 代码3.1 思路1class Solution {public: int countKDifference(vector<int>& nums, int k)原创 2022-12-26 22:30:34 · 999 阅读 · 0 评论 -
1.两数之和————附带详细代码和思路
文章目录1 题目2 思路3 代码3.1 法一3.2 法21 题目2 思路如果直接暴力求解,两个for循环,内存循环和外层循环遍历的数字相加,然后判断值是否等于target,但是时间复杂度为O(n^2),如果这样写是超时的。法1:1,首先使用哈希表map<string, int>存储向量(变长数组)中每个值的位置,如果遇到两个值相同的情况,就判断2倍的值是否等于target,不等时,继续存储,直至全部存入哈希表中【记录排序前的元素位置】;2,对向量进行增量排序;3,逆向遍历排序后原创 2022-03-14 23:15:00 · 646 阅读 · 0 评论 -
2013年的408算法题
文章目录0 结果1 题目2 思路3 实现0 结果1 题目2 思路思路一:使用hash映射打表,每出现一次次数加1,如果次数有超过n/2,则存在主元素,反之,则不存在。(缺点:需要辅助数组)思路二:两两相互抵消。如果数组中存在大于一般的相同元素,首先假设第一个元素为主元素的候选元素【统计个数为1】,如果目前元素统计的个数大于0,遇到相同的数字——个数加1,不同的数字——个数减1;当元素统计的个数为0时,将遇到的数字变更为候选的主元素。循环结束时,如果个数大于0,则3 实现#include原创 2020-12-18 00:38:58 · 1703 阅读 · 0 评论 -
2018年的专业408算法题
文章目录0 结果1 题目2 思路3 实现0 结果1 题目2 思路因为时间高效,则采用空间换时间的方法。方法:打表计数【数组大小设为n,即元素的个数】。遍历数组出现number,如果范围在[1,n]之间,则记[number-1]次数为1,遍历完数组后,指标i从[0,n)开始递增判断表值是否为0,是则跳出循环,最后输出i+1。3 实现#include <cstdio>#include <cstdlib>int Func(int A[], int n){原创 2020-12-18 01:01:54 · 2103 阅读 · 3 评论 -
1048 Find Coins (25 分)
Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall which could accept all kinds of coins as payments. Howev...原创 2019-03-02 10:27:24 · 461 阅读 · 0 评论 -
1005 继续(3n+1)猜想 (25 分)
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8...原创 2019-03-02 08:54:23 · 356 阅读 · 0 评论 -
1050 String Subtraction(减法) (20 分)
Given two stringsS1andS2,S=S1−S2is defined to be the remaining string after taking all the characters inS2fromS1. Your task is simply to calculateS1−S2for any give...原创 2019-03-02 07:47:06 · 297 阅读 · 0 评论 -
1041 Be Unique (20 分)
Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1,104]. The first one who bet...原创 2019-03-02 07:46:55 · 250 阅读 · 0 评论 -
1047 编程团体赛 (20 分)
编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数N(≤104),即所有参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正...原创 2019-10-24 12:52:55 · 571 阅读 · 0 评论 -
1084 Broken Keyboard (20 分)
On a broken keyboard, some of the keys are worn out(破旧的). So when you type some sentences, the characters corresponding to those keys will not appear on screen.Now given a string that you are sup...原创 2019-03-01 09:25:58 · 325 阅读 · 0 评论