C++

(1)模运算(百度百科)

  (a±b)%p = (a%p±b%p)%p

  (a*b)%p = (a%p*b%p)%p

  (a^b)%p = ((a%p)^b)%p

(2)使用long型

(3)magic number 33

(4)循环公式

class Solution {
public:/*** @param key: A String you should hash* @param HASH_SIZE: An integer* @return an integer*/int hashCode(string key, int HASH_SIZE) {// write your code hereint len = key.length();int magic = 1;long sum = (int)key[0];for (int i = 1; i < len; i++) {sum = (sum*33)%HASH_SIZE + (int)key[i];}return (int)sum%HASH_SIZE;}
};

本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/5105576.html,如需转载请自行联系原作者

LintCode: Hash Function相关推荐

  1. 2021牛客多校1 - Hash Function(思维+FFT)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,现在要求找到一个 seedseedseed,使得所有数字变为 a[i]=a[i]modseeda[i]=a[i]\mod seeda[i] ...

  2. 2021牛客暑期多校训练营1 H Hash Function FFT\NTT

    传送门 文章目录 题意: 思路: 题意: 给你一个数组aaa,你需要找一个最小的模数xxx,使得aaa中每个数都模上xxx之后互不相同. n≤5e5,ai≤5e5,ai!=ajn\le5e5,a_i\ ...

  3. Hash Function

    Hash Function 文章目录 题意: 题解: 代码 NTT代码 FFT代码 题意: 给定n个互不相同的数,找一个最小的模域,使得它们在这个模域下互不相同.n<=5e5 题解: 考虑两个数 ...

  4. hash function/ hash table 背后的数学基础(二)

    hash function/ hash table 背后的数学基础 perfect hashing(完美哈希) 给定 nn 个键,构建一个静态表(static hash table,也即没有插入和删除 ...

  5. 取模运算与hash function

    取模运算常常对应于hash散列: k%m k\;\%\;m 如果从映射(map)的角度看待取模运算的话,其实是对原始空间取值范围的一种放缩,比如缩放到 [0,m−1][0,m-1](整数). 如果这时 ...

  6. hash function/ hash table 背后的数学基础

    原文请见:Load Balancing and the Power of Hashing 如果你参加一次软件工程师的面试并你被问到一个很难的有关算法的题目,那么你最好考虑使用散列函数(hash tab ...

  7. H Hash Function

    Hash Function 题目描述 For a given set S={a0,a1,a2,...,an−1}S = \{a_0, a_1, a_2, ..., a_{n-1}\}S={a0​,a1 ...

  8. C++ STL源码分析——一个万用的 hash function

    [侯捷-SL体系结构内核分析-一个万用的 hash function] 我们知道,unordered_set / unordered_multiset / unordered_map / unorde ...

  9. Hash Function 2021牛客暑期多校训练营1 数论 + NTT

    Hash Function solution 任意选择该集合中的两个数,a,b,由于a%mod<>b%mod任意选择该集合中的两个数,a,b,由于a\%mod<>b\%mod任 ...

最新文章

  1. CloudCompare的介绍
  2. 分析6千万条GitHub帖子,发现你的工作状态与表情符号强相关
  3. 面试官:为什么mysql不建议执行超过3表以上的多表关联查询?
  4. C# 获取FormData数据
  5. SELinux系列(六)——SELinux安全上下文查看方法 详细介绍
  6. PCIE传输速率详解、Gbps和GB的区分
  7. 利用ESXI-Customizer制作定制化的ESXI
  8. 使用C++生成条形码
  9. OneNote制作计划表
  10. python实现ORC/文字识别之pytesseract
  11. 国际知名芯片专家,加盟武昌理工学院人工智能学院
  12. 艾永亮:腾讯、阿里、网易云音乐竞争升级,谁将造就高收益的超级产品
  13. itunes安装苹果测试包总是“正在安装”
  14. nacos-server1.4.1linux和windows版本下载
  15. 销售人员面对陌生客户时的谈话技巧
  16. html5表单地区元素,html5新增表单域元素及属性
  17. 目标检测网络之三叉戟TridentNet
  18. java 环境变量的设置
  19. VisionPro通过SN码连接相机
  20. python单位换算_Python——时间换算

热门文章

  1. rpm方式安装mysql-5.7.11
  2. 崩坏西游html5多游游戏,崩坏西游无限元宝版
  3. java对象复制到另一个对象中_spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)...
  4. mysql用supervisor管理_使用Supervisor管理进程
  5. 定期定量采购_定量采购方式
  6. Spring MVC的表单控制器——SimpleFormController .
  7. java线程的简单例子(Thread and runnable)
  8. idea自定义快捷鍵
  9. 技术资料,老吴的博客 很好的 技术博客 里面有很多资料 书籍或者软件安装包...
  10. 22. Generate Parentheses