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

去哪兒筆試 去哪兒筆試題 0906

筆試時(shí)間:2024年09月06日 秋招

歷史筆試傳送門:2023秋招筆試合集

第一題

題目

牛牛有一個(gè)由n個(gè)整數(shù)組成的數(shù)組[a1,a2,.,an],他想將這n個(gè)數(shù)打亂后依次拼接,使得拼接得到的字符串字典序是所有拼接字符串中最小的。直接輸出這個(gè)打亂過后的數(shù)組。

輸入描述

第一行輸入一個(gè)整數(shù)n(1≤n≤10^5)代表數(shù)組中的元素?cái)?shù)量。

第二行輸入n個(gè)整數(shù)a1,a2,...,an(0≤ai≤10^9)代表數(shù)組元素。

輸出描述

在第一行上輸出n個(gè)整數(shù),代表重新排列后的數(shù)組。

樣例輸入一

3

2 1 -1

樣例輸出一

-1 1 2

說明

一共有2 1 -1、2 -1 1、1 2 -1、1 -1 2、-1 2 1和-1 1 2六種字符串,其中-1 1 2是字典序最小的。

樣例輸入二

3

2 1 21

樣例輸出二

1 21 2

參考題解

給定字符串a(chǎn)和b,如果a + b < b + a,那么在最終的數(shù)組中,a一定在b的前面(否則我們調(diào)換a和b的位置字典序一定會(huì)變得更小)。因此,我們根據(jù)a + b < b + a進(jìn)行排序即可。

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

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }

    sort(a.begin(), a.end(), [&](int x, int y) -> bool {
        string s1 = to_string(x);
        string s2 = to_string(y);
        return s1 + s2 < s2 + s1;
    });

    for (int x : a) {
        cout << x << " ";
    }
    cout << "\n";
}

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        List<Integer> a = new ArrayList<>();
        
        for (int i = 0; i < n; i++) {
            a.add(sc.nextInt());
        }
        
        // 自定義排序規(guī)則
        Collections.sort(a, (x, y) -> {
            String s1 = Integer.toString(x);
            String s2 = Integer.toString(y);
            return (s1 + s2).compareTo(s2 + s1);
        });

        // 輸出結(jié)果
        for (int x : a) {
            System.out.print(x + " ");
        }
        System.out.println();
        
        sc.close();
    }
}

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

n = int(input())
a = list(map(int, input().split()))

# 自定義排序規(guī)則
a.sort(key=lambda x: str(x))

# 輸出結(jié)果
print(" ".join(map(str, a)))

第二題

題目

去哪兒會(huì)員體系分為大眾、白銀、黃金、鉑金和鉆石會(huì)員五個(gè)等級(jí),等級(jí)由成長(zhǎng)值決定,成長(zhǎng)值越高,等級(jí)也就越高,也能夠享受更多的會(huì)員權(quán)益。這天,牛牛發(fā)現(xiàn)可以通過完成每日任務(wù)的方式快速獲得成長(zhǎng)值提升等級(jí)!一共有n個(gè)任務(wù),每天都會(huì)解鎖一個(gè)新的任務(wù),第i個(gè)任務(wù)達(dá)成后可以獲得ai點(diǎn)成長(zhǎng)值獎(jiǎng)勵(lì)。為了鼓勵(lì)用戶參與任務(wù),在開始任務(wù)之前,還可以進(jìn)入“挑戰(zhàn)”模式,即預(yù)先設(shè)置自己能夠堅(jiān)持的天數(shù)x,在完成挑戰(zhàn)后,可以得到前張獎(jiǎng)勵(lì)翻倍卡,你可以自由選擇翻倍卡的使用順序,使得每一天的成長(zhǎng)值獎(jiǎng)勵(lì)翻倍,第i張翻倍卡可以將任務(wù)完成后的成長(zhǎng)值獎(jiǎng)勵(lì)乘以bi倍,例如:第一天任務(wù)獎(jiǎng)勵(lì)1點(diǎn)成長(zhǎng)值,第二天任務(wù)獎(jiǎng)勵(lì)2點(diǎn)成長(zhǎng)值,獎(jiǎng)勵(lì)一張四倍翻倍卡和一張兩倍翻倍卡,那么最少可以得到8點(diǎn)成長(zhǎng)值,最多可以得到10點(diǎn)成長(zhǎng)值。牛牛比較偷懶,他想要找到最少需要堅(jiān)持的天數(shù),使得自己能夠獲得至少m點(diǎn)成長(zhǎng)值。

輸入描述

第一行輸入兩個(gè)整數(shù)n和m(1≤n≤10^5;1≤m≤10^12)代表任務(wù)總數(shù)量和需要的成長(zhǎng)值數(shù)量。

第二行n個(gè)整數(shù) a1,a2,..,an(0≤ai≤10^3)代表每一個(gè)任務(wù)獎(jiǎng)勵(lì)的成長(zhǎng)值點(diǎn)。

第三行n個(gè)整數(shù)b1,b2,..,bn(1≤bi≤10^3)代表按順字?jǐn)[放的翻倍卡的面值。

輸出描述

在一行輸出一個(gè)整數(shù),代表最少堅(jiān)持的天數(shù);若永遠(yuǎn)無(wú)法達(dá)到目標(biāo),則直接輸出-1

樣例輸入一

5 20

1 2 3 4 5

4 2 3 5 10

樣例輸出一

3

樣例輸入二

2 20

1 2 

4 2 

樣例輸出二

-1

說明

牛??梢蕴魬?zhàn)堅(jiān)持三天,在完成挑戰(zhàn)后他會(huì)獲得前三張翻倍卡。在第一個(gè)關(guān)卡使用面值為2的翻倍卡,獲得1×2=2金幣。在第二個(gè)關(guān)卡使用面值為3的翻倍卡,獲得2×3=6金幣。在第三個(gè)關(guān)卡使用面值為4的翻倍卡,獲得3×4=12金幣。由于2+6+12=20≥20,因此牛??梢赃_(dá)成目標(biāo)??梢宰C明更少的關(guān)卡無(wú)法滿足條件。注意,如果只計(jì)劃堅(jiān)持三天,則只能攜帶前3張翻倍卡。

參考題解

容易觀察到如果牛牛n天可以完成挑戰(zhàn),那么n+1天,n+2天....都可以完成挑戰(zhàn),因此我們二分天數(shù),然后將前mid個(gè)任務(wù)根據(jù)成長(zhǎng)值排序,將前mid個(gè)翻倍卡根據(jù)倍數(shù)進(jìn)行排序,最后小的成長(zhǎng)值乘小的翻倍卡即可。

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

#include<iostream>
#include<vector>
using namespace std;
#define ll long long
int main() {
    int n;
    cin >> n;
    ll m;
    cin >> m;
    vector<int> a(n), b(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int i = 0; i < n; i++) {
        cin >> b[i];
    }

    int l = 1, r = n + 1;
    while (l < r) {
        int mid = (l + r) >> 1;
        vector<int> c(mid), d(mid);
        for (int i = 0; i < mid; i++) {
            c[i] = a[i];
            d[i] = 

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

2024 BAT筆試合集 文章被收錄于專欄

持續(xù)收錄字節(jié)、騰訊、阿里、美團(tuán)、美團(tuán)、拼多多、華為等筆試題解,包含python、C++、Java多種語(yǔ)言版本,持續(xù)更新中。

全部評(píng)論

相關(guān)推薦

04-01 21:38
已編輯
廣東工業(yè)大學(xué) Java
線上面試30分鐘基礎(chǔ)八股盛宴,沒問項(xiàng)目,但至少比上次10分鐘尷尬的技術(shù)面要好怎么引導(dǎo)面試官啊,我介紹的時(shí)候講了半天redis和rabbitmq高并發(fā)異步解耦,結(jié)果他一點(diǎn)不問,還是說是因?yàn)閗pi所以就隨便找點(diǎn)題問問提問:自我介紹講一下數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)左查詢右查詢(沒記,昨天面試也問了,可惜沒抓緊復(fù)習(xí))講一下數(shù)據(jù)庫(kù)索引數(shù)據(jù)庫(kù)慢查詢?cè)趺唇鉀Q的數(shù)據(jù)庫(kù)怎么調(diào)優(yōu)的數(shù)據(jù)庫(kù)有什么數(shù)據(jù)類型(int,char…)java基礎(chǔ):講一下IO有什么關(guān)鍵字多線程有什么實(shí)現(xiàn)(thread,繼承runnable)重寫和重載的區(qū)別類中能夠定義final變量,final方法嗎?static方法/變量能在類中能定義嗎(說得很模糊,面試官說待會(huì)試一下)講一下集合(列舉了一下,然后分別說了數(shù)據(jù)結(jié)構(gòu)和特性)mybatis能創(chuàng)建表嗎?怎么創(chuàng)建表的(說不知道沒創(chuàng)建過,他也說自己沒創(chuàng)建過)異常有什么關(guān)鍵字(try-catch-throw,throws)排序有哪幾種(冒泡,折半,希爾(說成哈希了))那講一下冒泡排序怎么實(shí)現(xiàn)的有沒有寫過嵌套(做題用的比較多,沒怎么在項(xiàng)目中用到)除了駝峰命名還有什么類似的開發(fā)規(guī)范(講了個(gè)雙駝峰命名被打斷說除了命名之外的,想不出來就講了個(gè)通過)講一下工廠模式的原理(胡扯了一點(diǎn)有點(diǎn)記得不是很清楚了)除了你簡(jiǎn)歷上寫的開發(fā)模式(工廠模式,代理模式,策略模式)還有什么模式?(想不起來具體是什么了,胡扯了一個(gè)軟工的瀑布流算嗎)面試官語(yǔ)塞,那你講講瀑布流(胡扯了一點(diǎn),記不太清了)專業(yè)課程學(xué)習(xí)中學(xué)的最好的課程是什么(講了javaweb)那你覺得收獲最多的是什么(胡扯了一些開發(fā)規(guī)范,springmvc)dispatchservlet知道嗎(不知道,查了才發(fā)現(xiàn)是springmvc的,也是給自己下套了)問了面評(píng):?jiǎn)柕亩际呛軐I(yè)內(nèi)部的,但是有一些還不是很清楚半小時(shí)到點(diǎn)然后匆忙下播感悟:感覺是窩工師兄,因?yàn)槊嬖嚨臅r(shí)候他說窩工好像有算法練習(xí)平臺(tái)。和上次面試開放式截然相反,這次就基本沒什么個(gè)人發(fā)揮空間,都是題目,還得多面面,還得多花點(diǎn)時(shí)間復(fù)習(xí)數(shù)據(jù)庫(kù),這些小公司是真的喜歡問數(shù)據(jù)庫(kù),是不是都不用redis的#面試時(shí)最害怕被問到的問題# #??虯I配圖神器#
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
2
13
分享

創(chuàng)作者周榜

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