360笔试 360笔试题 0322

笔试时间:2025年03月22日

历史笔试传送门:

2023春招秋招笔试合集

2024春招秋招笔试合集

第一题

题目

小X在一片大陆上探险,有一天他发现了一个洞穴,洞穴里面有n道门,打开每道门都需要对应的钥匙,编号为i的钥匙能用于打开第i道门,而且只有在打开了第i(i>1)道门之后,才能打开第i+1道门,一开始只能打开第1道门。幸运的是,小X在外面探索的途中,每天都能发现一把能打开这n道门中其中一道门的钥匙,每天找完钥匙后他都会去打开所有能打开的门。现在给出他每天找到的钥匙编号,请问每道门分别在哪一天被打开。

输入描述

第一行包含一个正整数n,表示门的数量。

接下来一行包含n个正整数a1,a2,…, an,其中ai,表示第i天他找到的钥匙的编号,能够打开第ai道门,数据保证a1-an为1-n的一个排列。

输出描述

输出一行n个数s1,s2,…,sn,其中si,表示第i道门在第si天被打开。

样例输入

5

5 3 1 2 4

样例输出

3 4 4 5 5

参考题解

哈希

C++:[此代码未进行大量数据的测试,仅供参考]

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    unordered_set<int> st;
    int cur = 1;
    vector<int> ans(n + 1);
    for (int i = 0; i < n; i++) {
        int key;
        cin >> key;
        st.insert(key);
        while (cur <= n && st.count(cur)) {
            ans[cur] = i + 1;
            cur++;
        }
    }
    for (int i = 1; i <= n; i++) {
        cout << ans[i] << " ";
    }
    cout << "\n";
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        Set<Integer> st = new HashSet<>();
        int cur = 1;
        int[] ans = new int[n + 1];

        for (int i = 0; i < n; i++) {
            int key = scanner.nextInt();
            st.add(key);
            while (cur <= n && st.contains(cur)) {
                ans[cur] = i + 1; // 第 i+1 次时,cur 被覆盖
                cur++;
            }
        }

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

Python:[此代码未进行大量数据的测试,仅供参考]

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

st = set()
cur = 1
ans = [0] * (n + 1)

for i in range(n):
    key = arr[i]
    st.add(key)
    while cur <= n and cur in st:
        ans[cur] = i + 1
        cur += 1

print(' '.join(map(str, ans[1:])))

第二题

题目

有一种十分奇妙的约分:并非是分子分母同时除以一个数,而是上下同时删除相同的数字。例如,114514/1919810 ->14514/919810 ->1454/91980这样。当然我们知道这样约分后的结果可能和正常约分的结果并不一致,因此我们才称这一过程为奇妙的约分。

在奇妙的约分过程中,一个数可能会出现前导0。此时,我们会将前导0保留,只要保证数字没有被完全删除,以及分母不是全为0即可。

现在,给出两个分数,你需要判断第二个分数是否能够由第一个分数经过上述“奇妙的约分”得到。

输入描述

第一行一个正整数T,表示有T组数据。

对于每一组数据,输入一行两个形如a/b的分数,中间用空格隔开。

1≤T<10,1≤a,b≤10^10000,保证输入的数字无前导零。

输出描述

对于每一组数据,如果第二个分数能够由第一个分数经过上述“奇妙的约分”得到,输出Yes;否则,输出NO.

特别地,当第二个分数不需要操作即等于第一个分数时,也输出yes

样例输入

4

114514/1919810 1454/91980

114514/1919810 454/9980

114514/1919810 114514/1919810

21/42 1/2

样例输出

Yes

Yes

Yes

NO

参考题解

维护哈希表记录分子分母的字符个数,然后对每一个分数的分子分母进行判断,注意全0的情况。

C++:[此代码未进行大量数据的测试,仅供参考]

#include<bits/stdc++.h>
using namespace std;
void solve() {
    string a, b;
    cin >> a >> b;
    string x1 = a, y1, x2 = b, y2;
    for (int i = 0; i < a.size(); i++) {
        if (a[i] == '/') {
            x1 = a.substr(0, i);
            y1 = a.substr(i + 1);
        }
    }
    for (int i = 0; i < b.size(); i++) {
        if (b[i] == '/') {
            x2 = b.substr(0, i);
            y2 = b.substr(i + 1);
        }
    }
    unordered_map<char, int> m1, m2, m3, m4;
    for (char c : x1) {
        m1[c]++;
    }
  

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2025 春招笔试合集 文章被收录于专栏

2025打怪升级记录,大厂笔试合集 C++, Java, Python等多种语言做法集合指南

全部评论

相关推荐

OPPO&nbsp;笔试挺简单的&nbsp;一面就纯聊天&nbsp;遂挂?摩尔线程&nbsp;一面主问C++八股&nbsp;还行&nbsp;项目有个和编译相关的&nbsp;当时觉得还行&nbsp;无后续&nbsp;猜测学历不够央视&nbsp;部门挺多&nbsp;有个线下面试拒了&nbsp;还有个线上面试最近面完中兴&nbsp;投递无后续字节&nbsp;Java八股准备不充分&nbsp;还有一点当时面试官应该是压力面&nbsp;对一些我觉得毫无疑问的点产生质疑&nbsp;导致我后续回答混乱腾讯&nbsp;TEG面试&nbsp;我不知道是没hc了还是别的不知名原因。。。&nbsp;复活赛win小米&nbsp;笔试我记得不简单&nbsp;无后续&nbsp;官网无变化&nbsp;这种是真的exTP&nbsp;一面无后续&nbsp;但我看同校有人oc了&nbsp;maybe我太菜了美团&nbsp;笔试还行&nbsp;一志愿好像是我base地的问题没有面试&nbsp;二志愿移动端我表现的太过于排斥了&nbsp;一周后挂滴滴&nbsp;好像我自己2了&nbsp;有个流程我超时挺久的&nbsp;无后续恒生&nbsp;流程走完&nbsp;最后没人联系应该是g海康威视&nbsp;lj公司&nbsp;我记得投的是后端&nbsp;投完秒挂&nbsp;什么东西360&nbsp;hr面拒&nbsp;腾讯开了&nbsp;也不是很想去北京云智&nbsp;后端一志愿不匹配666&nbsp;后续别的志愿懒得等了京东&nbsp;JDS&nbsp;TET笔试都过&nbsp;后续太慢都没安排pdd&nbsp;3月投的&nbsp;4月底安排一面&nbsp;最近发二面通知&nbsp;要是早点的话还能拿去和腾讯a招银&nbsp;流程走完&nbsp;末位淘汰国企&nbsp;听说全是卷工时&nbsp;慎重快手&nbsp;第一次&nbsp;二面挂&nbsp;口述IM系统&nbsp;面试官说我做的太简单了遂挂&nbsp;二志愿&nbsp;一面过&nbsp;无后续xkl&nbsp;三道笔试题&nbsp;前两道a&nbsp;第三题部分&nbsp;无后续&nbsp;看网上说有的秋招都没发offer&nbsp;我一直没进资料评审蚂蚁&nbsp;不懂蚂蚁要干啥anker&nbsp;也是nt&nbsp;把我从一个部门塞到另一个&nbsp;重点我面试流程都没开啊????&nbsp;金山&nbsp;拒绝dp&nbsp;聊薪拒满帮&nbsp;笔试溜了科大讯飞&nbsp;笔试全a&nbsp;复筛挂?深信服&nbsp;笔试全a&nbsp;后续太慢&nbsp;没关注了美的&nbsp;神人公司&nbsp;笔试做了30分钟结束&nbsp;全a&nbsp;性格测试完遂挂&nbsp;第二次同一个岗位&nbsp;笔试做了40分钟&nbsp;有一道题a了一半&nbsp;还没第一次好呢&nbsp;过了,面试遂拒步步高&nbsp;拒&nbsp;&nbsp;&nbsp;&nbsp;小结:可能有遗漏,记得不太清楚了,总体来说初期八股准备不充分&nbsp;后续基本都能走到靠后的流程&nbsp;刚开始还是挺慌的,接到第一个聊薪就好很多了,但是冷静下来还是拒了,我准备的方向基本就是Java和C++以及数据库中间件,死记硬背+理解,手撕的话,我leetcode&nbsp;刷了100道,后续就不刷了游戏公司:游卡&nbsp;二面拒完美&nbsp;二面过米哈游&nbsp;忘记了可能是笔试做的不好雷火&nbsp;笔试a2道&nbsp;挂&nbsp;别的不说&nbsp;lj监测平台途游&nbsp;一面还行&nbsp;无后续巨人网络&nbsp;笔试溜了4399&nbsp;一面面完不等了&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;小结:游戏公司对我面试最有用的是游卡,虽然不排除pua我的成分,但是也给我指明了一些准备方向,相关经历以及对于游戏引擎的了解必不可少,unity和ue任一推荐unity,因为ue难,游戏公司一般都是C++,所以八股其实还好。&nbsp;&nbsp;&nbsp;&nbsp;有问题很乐意回答,春招看着牛客过来的,知道牛友的不易,不嫌弃的话可以给一些建议,大家都加油,都有光明的未来
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务