专栏首页C语言入门到精通基础知识 | 每日一练(179)

基础知识 | 每日一练(179)

基础知识练习

士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭

读者:什么是散列法?

小林:散列法是把字符串映射到整数的处理, 通常是到一个相对小的范围。一个 “散列函数” 映射一个字符串 (或其它的数据结构) 到一个有界的数字 (散列存贮桶),这个数字可以更容易的用于数组的索引或者进行反复的比较。明显的, 一个从潜在的有很多组的字符串到小范围整数的映射不是唯一的。任何使用散列的算法都要处理 “冲突” 的可能。有许多散列函数和相关的算法被开发了出来; 一个全面的说明已经超出了本文的范围。

读者:由一个日期, 怎样知道是星期几?

小林:可以用 mktime() 或 localtime()

也可以参考这个样例代码:

int dayofweek(int y, int m, int d) /* 0 = Sunday */

{

static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};

y -= m < 3;

return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;

}

本文分享自微信公众号 - C语言入门到精通(gh_780327809188)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基础知识 | 每日一练(193)

    cout << boolalpha << ((i & (i - 1)) ? false : true) << endl;

    C语言入门到精通
  • 编程小白 | 每日一练(161)

    这道理放在编程上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从编程小白进阶到高手,需要经历的是日积月累的学习,那么如何学习呢?当然是每天都...

    C语言入门到精通
  • 基础知识 | 每日一面(22)

    读者:为什么如下的代码int a = 100, b = 100; long int c = a * b; 不能工作?

    C语言入门到精通
  • LeetCode 周赛题解 212

    枚举过程中,使用 anw 记录时间最长的字符,使用 duration 记录对应的时长。

    ACM算法日常
  • 挑战程序竞赛系列(73):4.7高度数组(3)

    挑战程序竞赛系列(73):4.7高度数组(3) 传送门:POJ 3729: Facer’s String 题意: 公共子串: 给出两个字符串A,B,求...

    用户1147447
  • 3259. Wormholes

    重新回顾了下Bellman-Ford算法,核心思路如下:从单个源点出发,如果经过N轮还在更新时,说明存在负环。证明:假设不存在负环,那么最短路径必然不会经过一个...

    用户1147447
  • 挑战程序竞赛系列(37):3.4利用数据结构高效求解

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447
  • 洛谷P2572 [SCOI2010]序列操作(ODT)

    attack
  • 剑指Offer - 面试题65. 不用加减乘除做加法(位运算,要看哦)

    写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。

    Michael阿明
  • 学生时代所学的一些 C 语言知识点回顾(2)——指针

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    耕耘实录

扫码关注云+社区

领取腾讯云代金券