zoukankan      html  css  js  c++  java
  • Java集合之HashSet

    HashSet

    • 定义
    C++:set 
    Java:HashSet
    
    • 创建与其基本操作
    创建:
    HashSet hs=new HashSet<Integer>();
    基本操作:
    1. boolean add(Object)
    // 如果此 set 中尚未包含指定元素,则添加指定元素。
    2. boolean remove(object)
    // 如果指定元素存在于此 set 中,则将其移除。
    3. int size()
    4. void clear()
    5. boolean isEmpty()
    6. boolean contain(object)
    

    例题:HIHOCODER 1370 : 快乐数字

    链接:https://hihocoder.com/problemset/problem/1370

    描述


    判断一个正整数是否是快乐数字?
    如果一个数字能够通过有限次快乐变换成为1,则是快乐数字。
    快乐变换是对一个数字的每一位的平方数求和。
    例如:
    对于68
    68 => 62+82= 100
    100 => 12 + 02 + 02 = 1
    因此68是快乐数字

    import java.util.*;
    import java.io.*;
    public class Main {
    	static int caculate(int x) {
    		int res=0,tmp;
    		while(x>0) {
    			tmp=x%10;
    			x/=10;
    			res+=tmp*tmp;
    		}
    		return res;
    	}
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(new InputStreamReader(System.in));
    		PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
    		HashSet<Integer>hs=new HashSet<Integer>();
    		while(true) {
    			int n=sc.nextInt();
    			if(n==-1) break;
    			hs.clear();
    			boolean flag=false;
    			while(!hs.contains(n)) {
    				hs.add(n);
    				if(n==1) {
    					flag=true;
    					break;
    				}
    				n=caculate(n);
    			}
    			out.println(flag);
    			out.flush();
    		}
    	}
    }
    
  • 相关阅读:
    【u026】花园(garden)
    【BZOJ 1040】[ZJOI2008]骑士
    【t100】汤姆斯的天堂梦
    【BZOJ 1038】[ZJOI2008]瞭望塔
    【t096】树的序号
    Java Web整合开发(82)
    2 HTML解析
    T3186 队列练习2 codevs
    T3185 队列练习1 codevs
    T1191 数轴染色 codevs
  • 原文地址:https://www.cnblogs.com/zsyacm666666/p/7657631.html
Copyright © 2011-2022 走看看