第七题(枚举和set)

set添加元素是根据equals和hashCode函数来确定两个元素是否是同一个对象。

public final boolean equals(Object other)
当指定对象等于此枚举常量时,返回 true。

覆盖:
Object中的equals
参数:
other - 要与此对象进行相等性比较的对象。
返回:
如果指定对象等于此枚举常量,则返回 true。
public final int hashCode()
返回枚举常量的哈希码。

覆盖:
类Object中的hashCode
返回:
枚举常量的哈希码。
枚举类型虽然是一个基本的数据类型,但是它实质是一个类,有自己的equals和hashCode方法,这样就可以保证枚举值相等时equals和hashCode的结果都一样。
时间: 2024-10-22 17:33:40

第七题(枚举和set)的相关文章

经典算法题每日演练——第七题 KMP算法

原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树是变态级的,那么kmp算法比红黑树还要变态,很抱歉,每次打kmp的时候,输 入法总是提示“看毛片”三个字,嘿嘿,就叫“看毛片算法”吧. 一:BF算法 如果让你写字符串的模式匹配,你可能会很快的写出朴素的bf算法,至少问题是解决了,我想大家很清楚的知道它的时间复 杂度为O(MN),原因很简单,主串和模

2014 BNU邀请赛F题(枚举)

Football on Table 题意:一些杆上有人,人有一个宽度,然后现在有一个球射过去,要求出球不会碰到任何人的概率 思路:计算出每根杆的概率,之后累乘,计算杆的概率的时候,可以先把每块人的区间长度再移动过程中会覆盖多少长度累加出来,然后(1?总和/可移动距离)就是不会碰到的概率 代码: #include <stdio.h> #include <string.h> #include <math.h> const double eps = 1e-8; int t,

hdu 4431 第37届ACM/ICPC 天津赛区现场赛A题 枚举

题意:就是给了13张牌.问增加哪些牌可以胡牌.m是数字,s是条,p是筒,c是数字 胡牌有以下几种情况: 1.一个对子 +  4组 3个相同的牌或者顺子.  只有m.s.p是可以构成顺子的.东西南北这样的牌没有顺子. 2.7个不同的对子. 3.1m,9m,1p,9p,1s,9s,1c,2c,3c,4c,5c,6c,7c.  这13种牌每种都有,而且仅有这13种牌.肯定是有一种2张.其他的1张. 模拟即可,第一个对子的情况需要枚举 很麻烦的模拟,但是貌似稳银的很需要这题,所以这种难度必须要弄懂,加油

hdoj 4445 Crazy Tank 物理题/枚举角度1

Crazy TankTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5033    Accepted Submission(s): 1017 Problem DescriptionCrazy Tank was a famous game about ten years ago. Every child liked it. Time fli

[物理题+枚举] hdu 4445 Crazy Tank

题意: 给你N个炮弹的发射速度,以及炮台高度H和L1,R1,L2,R2. 问任选发射角度.最多能有几个炮弹在不打入L2~R2的情况下打入L1~R1 注意:区间有可能重叠. 思路: 物理题,发现单纯的依据V去求X很困难. 这个时候想到暴力枚举角度.for(double i=0; i<=pi; i+=0.0007) 算出能到达的x.然后推断x,统计sum 发现以增长级0.0007弧度 刚刚好能过这道题 反正也是醉了~ 代码: #include"cstdlib" #include&qu

CTF---密码学入门第七题 杯酒人生

杯酒人生分值:10 来源: Veneno 难度:易 参与人数:2633人 Get Flag:790人 答题人数:963人 解题通过率:82% 使用古典密码 一喵星人要想喵星发送一段不知道干什么用的密码“BLOCKCIPHERDESIGNPRINCIPLE”, 但是它忘记了密钥是什么, 手头(爪头)只有它自己加密过的密钥“HTRUZYJW”, 而且它 还知道原密钥是一个单词, 你可以帮助它传递信息, 早日攻克蓝星, 征服人类吗? 解题链接: 原题链接:http://www.shiyanbar.co

Leetcode第七题_Reverse Integer

Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 这题比较容易,就是把给的一个数,反顺序输出而已. 直接对10取余数,把每一位数字读出来,再生成一个新的数就可以了,边界有一个溢出的问题,在这里,我选择的方法是定义一个long类型的变量,该变量与新生成的数赋值方法一样.然后检查这个long类型的变量是否与int类型变量的值相等就好了.

15年多校第一场七题hdu5294

要做这题,先要明白图的割,说白了就是 为了让原点无法到汇点要删几条边(之所以叫割,就是在图面上切一刀,减掉最小的边是原点和汇点成为两个集合),想到了割先放着一会用. 题中说只有沿最短路走才有可能追上,那么就意味着图中的最短路可能不止一条,沿着最短路走才能追上,那么其他的走法就没用了,所以只要求原点到汇点的最短路径图的最小割就可以知道最少断几条边可以堵住人了,再说第二问,既然最短路不止一条,那么只要边数量最小的一条最短路不被堵上,那个人就能追上炸弹张了,其他的边都可以赌上一点问题没有,这样就是总点

leetcode第七题--Reverse Integer

Problem: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 终于什么都没参考就一次Accept了.可能是这题比较简单,同时自己也进步了一点点,leetcode就是这样给我们增加信心的吧. 我是这样想的,利用除10和模10两个操作,将每个数字分离在vec中,然后相应的乘以10的倍数输出就行.如果这个数在-10与10之间直接返回就好. 代码如下: class S