2017腾讯编程题----游戏人物标记
生活随笔
收集整理的這篇文章主要介紹了
2017腾讯编程题----游戏人物标记
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:游戲里面有很多各式各樣的任務,其中有一種任務玩家只能做一次,這類任務一共有1024個,任務ID范圍[1,1024]。請用32個unsigned int類型來記錄著1024個任務是否已經(jīng)完成。初始狀態(tài)都是未完成。 輸入兩個參數(shù),都是任務ID,需要設置第一個ID的任務為已經(jīng)完成;并檢查第二個ID的任務是否已經(jīng)完成。 輸出一個參數(shù),如果第二個ID的任務已經(jīng)完成輸出1,如果未完成輸出0。如果第一或第二個ID不在[1,1024]范圍,則輸出-1。
解析:該題目主要是理解應用題的題意,意思是每個玩家都有1024個任務要做,要么全做完了,要么沒做。
import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Scanner;/*** Created by Administrator on 2017/7/13.*/ public class Main {//1024 1024static Map<Integer,Boolean> record= new LinkedHashMap<>();//記錄完成任務的玩家信息public static int calId(int id1,int id2){//id1完成任務,開始檢測id2是否完成任務if(id1<1||id1>1024||id2<1||id2>1024){//條件檢測return -1;}//id1玩家設置任務idrecord.put(id1,true);//id1做完了任務if(record.get(id2)!=null){if(record.get(id2)==true){return 1;}}return 0;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int id1,id2;while (scanner.hasNext()){id1=scanner.nextInt();id2=scanner.nextInt();System.out.println(calId(id1,id2));}} }總結
以上是生活随笔為你收集整理的2017腾讯编程题----游戏人物标记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》把数组排成最小的数
- 下一篇: 2017腾讯编程题----素数对