自学内容网 自学内容网

百度23届秋招前端岗

百度23届秋招前端岗  2024/12/13

1.小红的01串 

小红拿到了一个01串,她每次可以选择一个长度为2的连续子串取反(0变1,1变0),她想知道,是否能在有限的操作次数内使得所有字符相同?共有𝑞组询问。

链接:小红的01串__牛客网
输入描述:

第一行输入一个正整数q,代表询问次数。
每次询问输入一个字符串,仅由'0'和'1'组成。
所有字符串长度之和不超过200000。
输出描述:
对于每次询问,如果该字符串可以通过有限的操作使得所有字符相同,则输出"Yes",否则输出"No"。
示例
输入
3
101
1111
1011
输出
Yes
Yes
No
#include <iostream>
using namespace std;

/*
思路
透过现象看本质
翻转连续的两个字符,其实本质上就4种情况
0 0 -> 1 1
0 1 -> 1 0
1 0 -> 0 1
1 1 -> 0 0
可以看到翻转不会改变0或者1的奇偶性质

题目转化一个意思就是 我们要在有限次内将其中一个数字数量变为0。
而0是偶,所以一定要满足0或者1的数量为偶数
*/
int q;
int main() {
    cin>>q;
    string s;
    while(q--){
        cin>>s;
        int one=0,zero=0;
        for(int i=0;i<s.size();i++){
            one+=s[i]=='1';
            zero+=s[i]=='0';
        }
        if(one%2==0||zero%2==0) cout<<"Yes";
        else cout<<"No";
        cout<<endl;
    }
    return 0;
}

2.小红的踏前斩

链接:小红的踏前斩__牛客网

有n个怪物排成一排,第iii个怪物的血量为ai。小红有两个技能可以打怪:
1. 强力攻击,消耗1mp,对一只怪物造成1点伤害。
2. 踏前斩,消耗5mp,对当前怪物造成1的伤害,同时剑气将波及后两个怪物,对下一个怪物造成2点伤害,对下下个怪物造成3点伤害。
如果一个怪物受伤后血量小于等于0,则怪物死亡。死亡后怪物的尸体依然占据一个位置,会被踏前斩的剑气打到。
小红想知道,击杀全部怪物至少需要花费多少mp?

链接:小红的踏前斩__牛客网
来源:牛客网

输入描述:
第一行输入一个正整数n,代表怪物的数量。
第二行输入n个正整数ai​,代表每个怪物的血量。
1≤n≤10^5
1≤ai≤10^9
输出描述:
一个整数,代表花费的mp最小值。
示例
输入
5
2 3 4 2 3
输出
12
说明
对第一个怪和第二个怪分别进行一次强力攻击,此时每只怪物血量为[1,2,4,2,3]
对第一个怪进行一次踏前斩,此时每只怪物血量为[0,0,1,2,3]
再对第三个怪进行一次踏前斩,消灭全部怪物。
总mp消耗为12。
#include <bits/stdc++.h>
using namespace std;

/*
思路
因为踏前斩的收益一定高于强力攻击,所以对每个位置都尝试是否可以使用踏前斩,可以使用贪心算法
*/
const int N=1e5+10;
int n,a[N];
long long ans;

int main() {
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    //从后往前贪心
    for(int i=n-2;i>0;i--){
        int k=min(a[i],min(a[i+1]/2,a[i+2]/3)); //使得踏前斩的收益最大化
        ans+=k*5;
        a[i]-=k;
        a[i+1]-=2*k;
        a[i+2]-=3*k;
    }
    //最后使用强力攻击
    for(int i=1;i<=n;i++) ans+=a[i];
    cout<<ans;
    return 0;
}

3.小红的baidu型子串

小红拿到了一个字符串,她想知道有多少个"baidu"型子串?
所谓"baidu"型字符串,指第1个、第4个字母是辅音,第2、3、5个字符是元音,且每个字母都不相同的字符串。
例如,"taigu"、"huida"、"paobu"、"baoli"等都是"baidu"型字符串。
我们定义,元音字母仅有'a'、'e'、'i'、'o'、'u'这五种,其余字母均为辅音字母。

#include <bits/stdc++.h>

using namespace std;

const int N=2e5+10;

/*
注意一个点,baidu型子串长度都5,字母要求不重复。
*/

string s;
int ans;
// set<string> st; //存储所有长度为5的子串 
// 注意好像可以重复计算相同的子串 所以不使用set了

bool check(char a){
    if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u') return true;
    return false;
}

int main() {
    cin>>s;
    for(int i=0;i<s.size()-4;i++){
        string str=s.substr(i,5);
        //检查每个子串是否符合定义
        set<char> cnt; //默认去重复
        for(auto x:str){
            cnt.insert(x);
        }
        if(cnt.size()==5&&check(str[1])&&check(str[2])&&check(str[4])&&!check(str[0])&&!check(str[3])) ans++;
    }    
    cout<<ans;
    return 0;
}

4.给定一颗二叉树的前序遍历为ABCDEFG,中序遍历为CEDFBAH,该二叉树根节点的右孩子的左孩子结点是(不存在)

5.在一个长度为n的顺序表中查找元素k,最好情况需要比较(1)次,最坏情况需要比较(n)次。

6.一组记录的关键码为(21,88,19,45,13,25,66,33,18),则利用快速排序的方法,以第一个记录为基准,从小到大排序得到的一次划分结果为(18,13,19,21,45,25,66,33,88)

7.下面关于 Cookie 与 Session 的说法中,正确的是(C)

A.Session 数据保存在客户端浏览器

B.会话 Cookie 关闭浏览器之后会存在一段时间

C.Session 的安全性比 Cookie 高

D.Cookie 被禁止时没有办法将 session id 传递回服务器

解析

A选项,Cookie数据保存在浏览器客户端,而Session数据保存在服务器端。

B选项,Cookie分为会话Cookie与持久Cookie,会话Cookie会话结束就会销毁,而持久Cookie会在关闭浏览器后存在一段时间。

C选项,因为Session保存在服务器端,不容易被截获,所以比Cookie 更安全。

D选项,由于cookie可以被人为的禁止,必须有其它的机制以便在cookie被禁止时仍然能够session id传递回服务器,经常采用的一种技术叫做 URL重写,就是把session id附加在URL路径的后面,附加的方式也有两种,一种是作为URL路径的附加信息,另一种是作为查询字符串附加在 URL后面。网络在整个交互过程中终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id。

8.如果给一个 span 标签添加下列 CSS 样式,则以下说法正确的是(D)

1

2

3

{

    floatleft;

}

A.span 标签默认宽度为100%且占据一行

B.无法给该 span 标签设置宽高属性

C.给该 span 标签设置 padding-top 属性会失效

D.span 标签默认宽高为0

解析

A 选项,块级元素默认100%宽度占据一行,但是添加了浮动的 span 标签应是行内块元素,宽度为0,选项错误。

B 选项,由于 span 标签是行内块元素,并非行内元素,因此可以正常的设置宽高属性,选项错误。

C 选项,span 标签是行内块元素,设置 padding-top、padding-bottom 都会生效,选项错误。

D 选项,行内块标签在没有显示设置宽高情况下,宽高默认都为0,因此 span 标签默认宽高为0,选项正确。

9.请问以下有关 a 标签属性的说法错误的是(C)

A.a 标签中可以使用 href="#" 返回到页面顶部

B.a 标签中的 download 属性仅适用于同源 URL

C.如果 HTTP 头中的 Content-Disposition 属性赋予了一个不同于 a 标签中 download 属性的文件名,则后者优先级更高

D.在不设置 a 标签的 target 属性时,点击 a 标签默认从当前页面加载

解析

A 选项,a 标签中可以使用 href="#top" 或者 href="#" 链接返回到页面顶部,选项正确。

B 选项,a 标签中的 download 属性仅适用于同源 URL,但是可以使用 blob: URL 和 data: URL,以方便用户下载使用 JavaScript 生成的内容,选项正确。

C 选项,如果 HTTP 头中的 Content-Disposition 属性赋予了一个不同于此属性的文件名,HTTP 头属性优先于 a 标签中 download 属性,即前者优先级更高,选项错误。

D 选项,a 标签的 target 属性值默认为 _self,意为当前页面加载,即响应到同一 HTML 4 frame(或 HTML5 浏览上下文),选项正确。

10.请问以下 JS 代码最终输出的结果是(2、0)

1

2

3

4

5

const res = /cc/y;

res.test('ccwwcc');

console.log(res.lastIndex);

res.test('ccwwcc');

console.log(res.lastIndex);

解析

在 JavaScript 中,正则表达式使用 /.../ 的语法来创建。这里的 y 标志是 "粘附"(sticky)模式,它会使得正则表达式从 lastIndex 属性指定的位置开始匹配,而不是从字符串的开头。

const res = /cc/y; 创建了一个正则表达式,内容为 cc,使用了 y 标志。

res.test('ccwwcc'); 会从字符串 ccwwcc 中查找 cc

正则表达式的 lastIndex 默认为0,当匹配到结果时 lastIndex 就会更新到前次匹配之后的位置。因此当正则表达式 res 第一次匹配字符串时,可以成功匹配,lastIndex 指向更新到匹配内容之后的那个字符,也就是2

而当匹配失败时,lastIndex 就会重置为0,因此当正则表达式 res 第二次匹配字符串时,匹配失败,lastIndex 就被重置为0

11.下列关于面向连接服务与无连接服务的描述中,说法错误的是(B)

A.面向连接服务可以分为连接建立、数据传输和连接释放三个阶段

B.IP 是一种面向连接服务的协议

C.无连接服务常被描述为“尽最大努力交付”,它并不保证通信的可靠性

D.UDP 是一种无连接服务的协议

12.在牛牛系统中使用请求分段存储管理系统,已知某T时刻系统各相关设备的利用率分别为: CPU的利用率为8%,I/O设备的利用率为6%,磁盘交换区的利用率为88%,则(任务作业不多,但是交换操作非常频繁)

13.在 非严格模式下 javaScript Arguments 对象说法正确的是(BC)

A.arguments 是一个数组

B.arguments 具有length 属性

C.arguments 在箭头函数中访问不到

D.arguments 可以用forEach 进行迭代

解析

arguments对象是所有(非箭头)函数中都可用的局部变量。

arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。

arguments 是一个 “类数组” 意味着 arguments 有 长度 属性 并且属性的索引是从零开始的, 但是它没有 Array的 内置方法

14.以下关于 == 的隐式类型转换正确成立的是哪几项(BCD)

A."" == null

B."123" == 123

C.0 == false

D.1 == true

解析

在隐式类型比较中,如果其中一个操作值是 null 或者 undefined,那么另一个操作符必须为 null 或者 undefined,才会返回 true,否则都返回 false;

两个操作值如果为 string 和 number 类型,那么就会将字符串转换为 number进行比较;

如果一个操作值是 boolean,那么转换成 number;

15.浏览器同源策略是指(C)

A.同协议

B.同协议、同域名

C.同协议、同域名、同端口

D.同协议、同域名、同端口、同路径

16.下列关于串的堆存储结构的叙述错误的是(C)

A.堆存储结构在内存中开辟的是一块地址连续的存储空间

B.在堆存储结构下,串仍然是以数组存储的字符序列表示

C.串插入操作StrInsert(S,pos,T),即将串T插入到串S的第pos字符之前,直接使用预先分配的内存空间

D.堆串的存储空间是在程序执行过程中动态分配的

17.下列选项中,不属于 HTML5 新增的块级标签的是(CD)

A.aside

B.figure

C.progress

D.time

解析

aside和figure是HTML5新增的块级元素,progress和time标签是HTML5新增的行内元素

18.下列关于操作系统的叙述错误的是(B)

A.操作系统负责管理协调硬件、软件等计算机资源的工作

B.高级程序设计语言的编译器也是操作系统的主要问题

C.操作系统的主要功能是管理所有的软、硬件资源

D.操作系统是最基本的系统软件

解析

操作系统(Operation System, OS) 是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织和调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件

19.攻击者一般会在下列哪一种sql注入方式中使用sleep()函数(B)

A.联合注入

B.盲注

C.旁注

D.以上皆是

20.请问以下关于Promise说法错误的是(C)

A.catch的行为与调用then方法的一些特例相同

B.Promise只能被决议一次

C.在创建了一个Promise且注册了完成处理函数的情况下,如果这个任务迟迟没有结束可以从外部停止它的进程

D.Promise.finally方法返回的依然是一个Promise对象

解析

A选项,例如then(undefined,onRejected)就可以起到类似catch的作用。
B选项,Promise最本质的一个特征便是只能被决议一次即完成或者拒绝,之后不能被修改。

C选项,Promise一旦创建就不能中途取消,所以无法从外部来停止它的进程,选项C错误。

D选项,Promise.finally方法返回一个设置了finally回调函数的Promise对象。

21.下列div元素中,能被属性选择器[class~="val"]选中的有(③④)

1

2

3

4

<div class="value"></div> ...①

<div class=""></div> ...②

<div class=" val "></div> ...③

<div class="val box"></div> ...④

解析

[attr~= "val"]是属性值单词完全匹配选择器,专门用于匹配属性中的单词,它不能匹配空字符串或者部分字符串;但是允许单词前后出现空格或者出现多个以空格隔开的单词

22.执行以下代码,已知pic.jpg(宽:150px,高:200px)位于源代码的同级目录,为了在浏览器页面中显示图片的原始比例,同时让图片完全覆盖div盒子区域,①式应为(AD)

1

2

3

4

5

6

7

8

9

10

<style

  div {

    width: 200px;

    height: 200px;

    border:1px solid red;

    background: url(pic.jpg) no-repeat;

    background-size:①;

  }

</style>

<div></div>

A.cover

B.contain

C.100% 100%

D.100% auto

解析

当background-size取值为cover或者contain时,均是等比例缩放的,不同的是,cover表示拉伸图片直至完全覆盖住盒子而contain是拉伸图片直至完全覆盖盒子的宽或高的一端,除非背景图片的宽高比例与盒子的宽高比例恰好相等,否则不会完全覆盖图片,A选项正确,B选项错误;C选项,取值为100% 100%表示背景图片的宽、高取值为盒子的宽高,虽然可以完全覆盖盒子,但是由于宽高比例不同导致背景图片的原始比例被破坏,C选项错误;D选项,100% auto表示背景图片的宽度设置为盒子的宽度,高度按照图片的原始比例进行拉伸。宽度扩大了1.33倍,图片的高度对应扩大1.33倍后会大于div盒子的高度,因此可以完全覆盖div盒子,D选项正确。

23.请问关于下列JS代码说法错误的是(AC)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

var num = 117;

function func1() {

    console.log(this.num);

}

(function() {

    "use strict";

    func1();

})()

"use strict"

function func2() {

    console.log(this.num);

}

setTimeout(function() {

    func2.call(this);

}, 0)

A.上述JS代码无法正常运行

B.上述JS代码执行后的结果是打印两次117

C.func1函数的this是指向undefined

D.func2函数的this一开始是指向undefined,被修改后指向全局对象

解析

func1函数在非严格模式下this默认绑定到全局对象,在严格模式下调用并不会影响默认绑定。func2函数在严格模式下定义无法将全局对象用于默认绑定,this就会绑定到undefined,但是定时器是处于全局代码中this不会受严格模式影响,依然是指向全局对象,所以func2的this被修改后就是指向全局对象。因此代码运行无异常,正常打印两次117。


原文地址:https://blog.csdn.net/Cchengzu/article/details/144460537

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!