欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

米哈游筆試 米哈游筆試題 0328

筆試時(shí)間:2025年03月28日

歷史筆試傳送門:

2023春招秋招筆試合集

2024春招秋招筆試合集

第一題

題目:數(shù)字凸包區(qū)間

米小游有 n 個(gè)整數(shù) {a_1,a_2,...,a_n} ,他定義區(qū)間 [l,r] 的“數(shù)字凸包區(qū)間”為 [min{a_l,...,a_r},max{a_l,..,a_r}] 。 現(xiàn)在,對于每一個(gè) i=1,2,....,n ,直接輸出不屬于 [1,i] 這個(gè)區(qū)間的“數(shù)字凸包區(qū)間”的最小非負(fù)整數(shù)。

輸入描述

第一行輸入兩個(gè)整數(shù) n (1 <= n <= 10^5 ) 代表整數(shù)數(shù)量、詢問次數(shù)。

第二行輸入 n 個(gè)整數(shù) a_1,a_2,...,a_n ( 0 <= a_i <=10^9) 代表元素。

輸出描述

在一行上輸出 n 個(gè)整數(shù),代表對于每一個(gè) i 的答案。

樣例輸入

5

1 0 4 5 1

樣例輸出

0 2 5 6 6

說明:

對于第一次詢問,“數(shù)字凸包區(qū)間”為 [1,1] ,不屬于這個(gè)“數(shù)字凸包區(qū)間”的最小非負(fù)整數(shù)為 0 。 對于第二次詢問,“數(shù)字凸包區(qū)間”為 [0,1] ,不屬于這個(gè)“數(shù)字凸包區(qū)間”的最小非負(fù)整數(shù)為 2 。

參考題解

需要為每個(gè)前i個(gè)元素構(gòu)成的區(qū)間找到不屬于其“數(shù)字凸包區(qū)間”的最小非負(fù)整數(shù)。這里的“數(shù)字凸包區(qū)間”定義為區(qū)間內(nèi)元素的最小值和最大值構(gòu)成的閉區(qū)間。若當(dāng)前區(qū)間的最小值 min > 0,則最小的缺失非負(fù)整數(shù)一定是 0(因?yàn)?不在閉區(qū)間內(nèi))。若當(dāng)前區(qū)間的最小值 min = 0,則最小的缺失非負(fù)整數(shù)是 max + 1(因?yàn)殚]區(qū)間覆蓋了0到max的所有整數(shù))。

C++:[此代碼未進(jìn)行大量數(shù)據(jù)的測試,僅供參考]

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> a(n), result(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }

    int min_val = a[0];
    int max_val = a[0];

    for (int i = 0; i < n; ++i) {
        if (i > 0) {
            min_val = min(min_val, a[i]);
            max_val = max(max_val, a[i]);
        }
        if (min_val > 0) {
            result[i] = 0;
        } else {
            result[i] = max_val + 1;
        }
    }

    for (int i = 0; i < n; ++i) {
        cout << result[i];
        if (i < n - 1) cout << " ";
    }
    cout << endl;

    return 0;
}

Java:[此代碼未進(jìn)行大量數(shù)據(jù)的測試,僅供參考]

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] a = new int[n];
        int[] result = new int[n];

        for (int i = 0; i < n; i++) {
            a[i] = scanner.nextInt();
        }

        int minVal = a[0];
        int maxVal = a[0];

        for (int i = 0; i < n; i++) {
            if (i > 0) {
                minVal = Math.min(minVal, a[i]);
                maxVal = Math.max(maxVal, a[i]);
            }
            if (minVal > 0) {
                result[i] = 0;
            } else {
                result[i] = maxVal + 1;
            }
        }

        for (int i = 0; i < n; i++) {
            System.out.print(result[i]);
            if (i < n - 1) System.out.print(" ");
        }
        System.out.println();

        scanner.close();
    }
}

Python:[此代碼未進(jìn)行大量數(shù)據(jù)的測試,僅供參考]

n = int(input())
a = [int(c) for c in input().split()]

min_val = a[0]
max_val = a[0]
result = []

for i in range(n):
    if i > 0:
        min_val = min(min_val, a[i])
        max_val = max(max_val, a[i])
    if min_val > 0:
        result.append(0)
    else:
        result.append(max_val + 1)

print(' '.join(map(str, result)))

第二題

題目:最大面積

給定一個(gè)長度為 n 的二進(jìn)制字符串 s,由 0 和 1 字符組成。我們需要構(gòu)建一個(gè)行數(shù)為 n,列數(shù)為 n 的方表,由 0 和 1 字符組成。第一行為原始字符串 s,第二行為字符串 s 向右循環(huán)移動(dòng)一個(gè),第三行為字符串 s 向右循環(huán)移動(dòng)兩個(gè),以此類推。求表中所有由 0 組成的三角形或矩形的最大面積值。第一行是字符串 s。 第二行是字符串 s 向右循環(huán)移動(dòng)一個(gè)位置。 第 i 行是字符串 s 向右循環(huán)移動(dòng) i-1 個(gè)位置。

輸入描述

輸入一個(gè)長度為 n 的二進(jìn)制字符串 s,僅包含 0 和 1 字符,其中 1 < n < 5000。

輸出描述

輸出表中所有由 0 組成的三角形或矩形的最大面積值。

樣例輸入

00110

樣例輸出

6

說明:

在構(gòu)造的方表中,最大由 0 組成的矩形面積為 6,構(gòu)造的表格如下: 00110 00011 10001 11000 01100

參考題解

此題目看似類似LEETCODE的85題***********

剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買

2025 春招筆試合集 文章被收錄于專欄

2025打怪升級(jí)記錄,大廠筆試合集 C++, Java, Python等多種語言做法集合指南

全部評(píng)論

相關(guān)推薦

不愿透露姓名的神秘牛友
05-02 17:52
已編輯
海柔 java開發(fā) n*15 碩士211
點(diǎn)贊 評(píng)論 收藏
分享
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務(wù)