2023 oppo笔试题 0411

笔试时间:2023年4月11日 春招实习

备注:第二题暂未有题解

第一题

题目:最短的括号字符串

小欧拿到了一个只包含'('和')'的字符串,她有以下两种操作:

1、用"("代替对括号:"()”

2、用")"代替对括号:"()"。

请注意,只有相邻的括号字符才可以操作。小欧想知道,若干次操作以后,该字符串的最短长度是多少?

输入描述

一个只包含’('和')'两种字符的字符串。长度不超过200000。

输出描述

一个整数,代表若干次操作后,字符串的最短长度。

样例输入

示例1:()

示例2: )(

样例输出

示例1:1

示例2:2

参考题解

利用栈的特性解决。

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

#include <iostream>
#include <stack>
using namespace std;

int main() {
    string s;
    cin >> s;
    stack<char> st;

    for (char c : s) {
        bool flag = false;
        while (!st.empty() && c == ')' && st.top() == '(') {
            st.pop();
            flag = true;
        }
        if (flag) {
            st.push('(');
        } else {
            st.push(c);
        }
    }

    cout << st.size() << endl;

    return 0;
}

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

import j

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

2023 秋招笔试题汇总解析 文章被收录于专栏

2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。

全部评论
大佬,好排列有js的嘛
1 回复 分享
发布于 2024-08-11 09:21 江苏
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.nextLine().trim(); Stack<character> stk = new Stack<>(); for(int i=0; i</character>
点赞 回复 分享
发布于 2025-06-17 09:42 广东
只需要从前向后找到第一个(, 并且从后向前找到第一个),两个中间的所有括号都会被压缩为1个 class My_Resolve2: def __init__(self, line): self.line = line def get_rst(self): l = len(self.line) l_idx = self.line.find('(') r_idx = self.line.rfind(')') if l_idx == -1 or r_idx == -1: return l if r_idx < l_idx : return l skip = r_idx - l_idx return l - skip
点赞 回复 分享
发布于 2025-04-28 20:51 陕西
好排列没题解,只有一道题的题解,bro们别被骗了
点赞 回复 分享
发布于 2024-10-19 20:04 江苏

相关推荐

有很多问题,求大佬们解答,谢谢大佬们:不知道现在该怎么投实习,该怎么准备内心很纠结学校课程和实习到底怎么选择,&nbsp;自己也不想课程学业这边出问题,&nbsp;是不是只能投暑期实习,具体时间该怎么安排前端面试也需要准备算法么,&nbsp;自己的算法能力很薄弱,&nbsp;面试题需要准备到什么程度?没有ai项目经验的话,我该如何去补充,如何去找好的ai项目
smile丶snow:1.简历尽量一页,比如教育经历那里,全日制,计算机学院这些可以去掉没啥用好浪费空间。 熟悉三件套就没必要写了吧。js基本上是这样写 * JavaScript核心:深入理解 JS 运行机制(事件循环 Event Loop、微任务/宏任务),熟练掌握 Promise/Async 异步编程 模型。 熟悉可以改成熟练掌握。组件库写一个ant感觉就行,多写了浪费空间。 旅游项目是不是jonas的natours啊,我之前简历也有这个。我之前是这样写的 全栈思维: 熟悉 Node.js/Express 后端架构,掌握 MongoDB 数据库设计与聚合查询 工程化我觉得还是少些吧,不写就问的少,如果你真的了解的话可以写。 1.实习的话推荐大厂官网和aoob上面投,我自己有写一个校招网站的小网站可以直达~github主页上面有,顺便求个关注( 2.大三下一般课程比较少了吧,如果学校比较严的话可以多沉淀一会,如果不太严可以请dai课然后去实习,尽量找个近一些的就行。暑期实习不是暑假才实习哦,基本是上3月底4月初发offer就可以过去了,然后大概暑假的时候走转正流程答辩。 3.大厂算法题+js手写体。hot100+常见的比如数组转树,Promise.all,deepClone,之类 js手写都不难其实。算法看自己能力吧,我其实算法能力也不行。 4.自己平时没有用AI Coding吗?自己想一下怎么让AI帮你更好的写代码~比如Skill的诞生,OpenSpec的诞生,不都是我们想让AI更好帮我们写代码吗。
我的实习日记
点赞 评论 收藏
分享
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

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