当前位置: 首页 > news >正文

LintCode: Hash Function

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 here
        int 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;
    }
};

 

转载于:https://www.cnblogs.com/CheeseZH/p/5105576.html

相关文章:

  • 轻松学习之Linux教程一 ubuntu14.04+windows双系统安装
  • NSPredicate的使用,超级强大
  • like 大数据字段 查询慢
  • Linux系统下chkconfig命令使用详解
  • C语言补码作用
  • Weblogic - 安装和配置
  • 百度地图3.0初用笔记(二)
  • 既然选择了远方,就只顾风雨兼程!
  • CMake入门(二)
  • 第六章 移动自动化测试工程的开展(上)
  • kafka消息监控-KafkaOffsetMonitor
  • java Graphics2D 画图
  • Linux学习之给指定用户发邮件
  • PHP的学习--生成器Generators
  • 20160115学习日志
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • ES6简单总结(搭配简单的讲解和小案例)
  • Fundebug计费标准解释:事件数是如何定义的?
  • HTTP那些事
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • IOS评论框不贴底(ios12新bug)
  • Java程序员幽默爆笑锦集
  • jdbc就是这么简单
  • Linux快速复制或删除大量小文件
  • Otto开发初探——微服务依赖管理新利器
  • Promise面试题,控制异步流程
  • yii2中session跨域名的问题
  • 飞驰在Mesos的涡轮引擎上
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 经典排序算法及其 Java 实现
  • 离散点最小(凸)包围边界查找
  • 前端面试之CSS3新特性
  • 微服务框架lagom
  • 我与Jetbrains的这些年
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 数据结构
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)IOS中获取各种文件的目录路径的方法
  • .NET CLR基本术语
  • .NET Core引入性能分析引导优化
  • .NET MVC 验证码
  • .Net Remoting常用部署结构
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net6 Api Swagger配置
  • .NET上SQLite的连接