1. 程式人生 > >【網易筆試題】遊戲卡牌

【網易筆試題】遊戲卡牌

這裡寫圖片描述

解題思路

首先測試樣例有錯誤,應該是

輸入
5
1 2 3 4 5
10
輸出
30

暴力解,找到所有和為m的求積。


import java.util.Scanner;
import java.util.HashMap;
import java.util.Iterator;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long
[] data = new long[n]; for (int i = 0; i < n; i++) data[i] = sc.nextInt(); long m = sc.nextInt(); long max = 0; HashMap<Long, Long> list = new HashMap<>(); int index = 0; while (index < n && data[index] == 0) { index
++; } if (index < n) { list.put(data[index], data[index]); if (data[index] == m) max = data[index]; } for (int i = index + 1; i < n; i++) { if (data[i] == 0) continue; if (data[i] == m && data[i] > max) max = data[i]; Iterator<Long> listIterator = list.keySet().iterator(); HashMap<Long, Long> buffer = new
HashMap<Long, Long>(); while (listIterator.hasNext()) { Long num = listIterator.next(); long multi = list.get(num) * data[i]; long a = 0; if ((a = num + data[i]) < m) { if (list.containsKey(a)) { if (multi > list.get(a)) { buffer.put(a, multi); } } else { buffer.put(a, multi); } } else if (a == m) { if (max < multi) max = multi; } } list.putAll(buffer); if (list.containsKey(data[i])) { if (list.get(data[i]) < data[i]) { list.put(data[i], data[i]); } } else { list.put(data[i], data[i]); } } System.out.println(max == 0 ? -1 : max); } }

相關推薦

試題遊戲

解題思路 首先測試樣例有錯誤,應該是 輸入 5 1 2 3 4 5 10 輸出 30 暴力解,找到所有和為m的求積。 import java.util.Scanne

試題戰鬥點

解題思路 重複的點沒有必要去增加時間複雜度, 先把point點簡化成沒有重複的新陣列norepeatvalues以及記錄每個新陣列的成員point對應的重複次數repeatcounts陣列; 兩個點可以確定一條直線,假設有一個起始點Point[i]和P

試題

java筆試昨天參加網易筆試遇到的,好難啊!!!題目要求——Java(只記得大致): 1、輸入一個值,表示接下來要輸入數組的個數;範圍:1~10^7 2、輸入一個值,表示下面數組裏元素的個數; 範圍:2~10^9 3、輸入一個數組A;

試題:推箱子

左右 esp 一行 else HA 經典的遊戲 clas 不能 box 大家一定玩過“推箱子”這個經典的遊戲。具體規則就是在一個N*M的地圖上,有1個玩家、1個箱子、1個目的地以及若幹障礙,其余是空地。玩家可以往上下左右4個方向移動,但是不能移動出地

試題:找出指定區間數列中能被3整除的個數

字符串 include namespace style 試題 AI () pan string 題目描述:給定一個數列:1,12,123,...,12345678910,1234567891011...,找出指定區間能被3整除的個數。 輸入描述:輸入兩個數字l和r,代表數列

試題??

nbsp strong 折半枚舉 OS 試題 條件 bsp div ron 題意 n個物品,背包容量w,問共有多少種放法(n≤30) 分析 折半枚舉即可 題意 x<=n y<=n x%y>=k 輸入n ,k 問有多少對x y滿足條件(

試題——計算機視覺_深度學習方向

選擇題 策略 空間 線性 對比 jks rbo 數字圖像處理 計算 選擇題知識點: 【1】大津法(OSTU算法)閾值分割中,閾值自動選擇的思路是: C:最大化類間方差法選擇閾值 解析:大津法(OTSU)是一種確定圖像分割閾值的算法,由日本學者大津於1979年提出;原理上

2019試題C++--豐收

block 一行 思路 使用 屬於 如果 簡單 代碼 for 題目描述 又到了豐收的季節,恰好小易去牛牛的果園裏遊玩。 牛牛常說他多整個果園的每個地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果園裏有N堆蘋果,每堆蘋果的數量為ai,小易希望知道從左往右數第x個蘋果是

06試題_數對

牛牛以前在老師那裡得到了一個正整數數對(x, y), 牛牛忘記他們具體是多少了。 但是牛牛記得老師告訴過他x和y均不大於n, 並且x除以y的餘數大於等於k。 牛牛希望你能幫他計算一共有多少個可能的數對。 輸入描述: 輸入包括兩個正整數n,k(1 <= n <= 10^

瞌睡 (試題

題目描述 小易覺得高數課太無聊了,決定睡覺。不過他對課上的一些內容挺感興趣,所以希望你在老師講到有趣的部分的時候叫醒他一下。你知道了小易對一堂課每分鐘知識點的感興趣程度,並以分數量化,以及他在這堂課上每分鐘是否會睡著,你可以叫醒他一次,這會使得他在接下來的k分鐘內保持清醒

銳捷試題將整形變數a的最高n位清零,其它位不變,巨集定義:#define clear_bits(a,n)

銳捷昨天的一道網際網路C++筆試題,我的寫法如下: #define clear_bits(a,n)  (a)&~(((1<<n)-1)<<(32-n))  注:1、n應該加上括號,上面括號比較多,再寫上比較混亂,所以沒給n寫上括號,大家寫的

試題:輸入一個正整數,若該數能用幾個連續正整數之和表示,則輸出所有可能的正整數序列。

解題思路:           **找到數學規律。n以i為開頭的j個整數的和為i*j+j*(j-1)/2;判斷輸入的整數是否和計算結果相同。           如果相同則迴圈輸出以i為開頭的j個整數。           這個題目給我最大的啟示就是要學會用數學的方法來解決問題,在此之前我一直希望通過一種遞

C語言結構體的位元組對齊例項C語言試題

 一、筆試題目:在一個64位的作業系統中定義如下結構體: <span style="font-family:Microsoft YaHei;font-size:12px;">struct st_task { uint16_t id; uint32

每日一練——大數加減乘除運算實現(試題

前幾天做網易筆試題時最後一道題是設計一個大數類,實現加減運算,因為做這道題時只有5分鐘,結果我剛把類寫出來,考試時間就結束了。其實在去年12月我寫過一個RSA的加解密程式,其中就用到了大數的加減乘除運算(當然這只是RSA用到的一小部分),沒有把最後一題寫上去實在太可惜了(&

試題-堆棋子

題目 小易將n個棋子擺放在一張無限大的棋盤上。第i個棋子放在第x[i]行y[i]列。同一個格子允許放置多個棋子。每一次操作小易可以把一個棋子拿起並將其移動到原格子的上、下、左、右的任意一個格子中。小易想知道要讓棋盤上出現有一個格子中至少有i(1 ≤ i ≤ n)個棋子所需要的

試題 牛牛找工作

為了找到自己滿意的工作,牛牛收集了每種工作的難度和報酬。牛牛選工作的標準是在難度不超過自身能力值的情況下,牛牛選擇報酬最高的工作。在牛牛選定了自己的工作後,牛牛的小夥伴們來找牛牛幫忙選工作,牛牛依然使用自己的標準來幫助小夥伴們。牛牛的小夥伴太多了,於是他只好把這

Java使用雲信簡訊介面,給手機使用者傳送並校驗驗證碼

package com.web; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.http.HttpResponse;

牛客 試題2017 簡單bfs

#include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <queue> using namespa

HR之聲:技術筆試為何難過人文關 解剖試題

網易互動於2月啟動了06年社會招聘計劃,技術部熱聘職位:高階程式設計師、系統管理員、資料庫管理員、遊戲測試工程師。從CSDN人才論壇的討論、以及網易招聘部門的反饋來看,在網易的技術筆試題中,有一部分人文類的題目,難倒了很多人。舉幾個例子:筆試真題:1、分別安排下列字(斬、泰、

試題——優雅的點

題目 小易有一個圓心在座標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱座標都是整數的點是優雅的,小易現在想尋找一個演算法計算出優雅的點的個數,請你來幫幫他。 例如:半徑的平方如果為25 優雅的點就有:(+/-3, +/-4), (+/-4, +/