网易笔试编程题

2023-11-02

下厨房

题目描述

牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。

输入描述:

每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。

输出描述:

输出一行一个数字表示完成所有料理需要多少种不同的材料。
示例1

输入

BUTTER FLOUR
HONEY FLOUR EGG

输出

4
思路:利用集合set元素不重复的性质

#include<iostream>
#include<set>
#include<string>
using namespace std;

int main(){
    string food;
    set<string> set;
    while(cin >> food){
        set.insert(food);
    }
    cout << set.size() << endl;
    return 0;
}
数字翻转

题目描述

对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:
如果 X = 123,则rev(X) = 321;
如果 X = 100,则rev(X) = 1.
现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?

输入描述:

输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。

输出描述:

输出rev(rev(x) + rev(y))的值
示例1

输入

123 100

输出

223
思路:巧妙的数字翻转方式

#include<iostream>
using namespace std;

int rev(int m){
    int temp = 0;
    while(m != 0){
       temp = temp * 10 + m % 10;
       m /= 10;
    }
    return temp;
}

int main(){
    int x, y;
    while(cin >> x >> y)
        cout << rev(rev(x) + rev(y));
    return 0;
}
统计回文

题目描述

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。
例如:
A = “aba”,B = “b”。这里有4种把B插入A的办法:
* 在A的第一个字母之前: "baba" 不是回文 
* 在第一个字母‘a’之后: "abba" 是回文 
* 在字母‘b’之后: "abba" 是回文 
* 在第二个字母'a'之后 "abab" 不是回文 
所以满足条件的答案为2

输入描述:

每组输入数据共两行。
第一行为字符串A
第二行为字符串B
字符串长度均小于100且只包含小写字母

输出描述:

输出一个数字,表示把字符串B插入字符串A之后构成一个回文串的方法数
示例1

输入

aba
b

输出

2
#include<iostream>
#include<string>
using namespace std;

int huiwen(string str){  //定义回文函数
      int len = str.length();
      for(int i = 0; i < len; i++){
          if(str[i] != str[len - 1])
              return false;
          len -= 1;  //len的值不断变化,往中间靠拢
      }
      return true;
}

int main(){
    string str1, str2, temp;
    while(cin >> str1 >> str2){
        int count = 0;
        temp = str1;
        int len = str1.length() + 1;
        for(int i = 0; i < len; i++){
            str1 = temp;  //重要的一步,将str1还原
            str1.insert(i, str2);  //插入str2,判断新的字符串是否是回文
            if(huiwen(str1))
                count++;
        }
        cout << count <<endl;
        return 0;
    }
}
买苹果

题目描述

小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。

输入描述:

输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果

输出描述:

输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
示例1

输入

20

输出

3
//因为要袋子足够少,则原则上尽可能多买8个一袋的苹果。
#include<iostream>
using namespace std;
 
int maxPackage(int n){
    int count = 0;  //袋子个数
    int mul, remains; 
    if(n % 2 != 0) //如果n不为偶数,直接返回-1
        return -1;
    if(n % 8 == 0){ 
        count = n / 8;
        return count;
    }
    else{
        mul = n / 8;  //8的倍数
        remains = n % 8;
        count += mul;
        n = n % 8;
        while(mul >= 0){
            if(n % 6 == 0){
                count += n / 6;
                return count;
            }
            else{   //回溯
                mul--;  //8包装袋-1
                count --;  //袋子个数-1
                n = n + 8;  //剩余苹果数量+8
            }
        }
        return -1;
    }
}

int main(){
    int n;
    cin >> n;
    cout << maxPackage(n);
    return 0;
}
藏宝图

题目描述

牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。

输入描述:

每个输入包含一个测试用例。每个测试用例包含两行长度不超过 10 的不包含空格的可见 ASCII 字符串。

输出描述:

输出一行 “Yes” 或者 “No” 表示结果。
示例1

输入

x.nowcoder.com
ooo

输出

Yes

思路:判断测试序列与原序列有多少位是相同的,如果相同的长度等于测试序列的长度,则该序列为原序列的子序列

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

int main(){
    string str;
    while(cin >> str){
        string str1;
        cin >> str1;
        int a = 0, b = 0;
        while(a < str.length()){
            if(str[a++] == str1[b])
                b++;
        }
        if(b == str1.length())
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
    }
}










本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网易笔试编程题 的相关文章

随机推荐

  • Redis 基本属性

    redis 概念 redis是一个存储key value的非关系型数据库 数据存储在缓存中 读取速度很快 可以很好的解决每次都去数据库执行数据查询时间消耗问题 数据库支持的并发有限 redis单机可以支持上万并发 作用 缓存高频读的数据 减
  • linux sudo su 免密码,Ubuntu的sudo免密码设置

    正常情况下 在使用sudo命令时 系统是要求输入密码的 输入的密码会保存一小段时间 在这段时间内 sudo不再要求输入密码 之后 再使用sudo 系统仍会要求输入密码 但是在制作镜像过程中 我们可能会在系统自启动项启动很多服务 而且可能有些
  • 使用VS2019将c#生成dll文件

    生成dll部分 1 新建一个项目 选择 类库 用于创建C 类库dll项目 2 将Class1 cs改名自己要创建的文件名 Operate cs 并填入代码 3 贴入代码 using System using System Collectio
  • C++数据结构之--单向链表(SingleList)

    单向链表 单向链表 Singly Linked List 是一种常见的数据结构 它由一系列节点 Node 构成 每个节点包含数据 value 和一个指向下一个节点的指针 next 每个节点只知道它指向的下一个节点 而无法直接访问前一个节点
  • 设置多个dns_公共DNS全面故障:114.114.114.114 和 8.8.8.8

    2019年4月4日上午 全国大范围内的互联网用户在使用114 114 114 114 和 8 8 8 8 DNS服务器时 出现网站打开缓慢 或者打不开等现象 本次收到影响的地区包括北京 陕西 四川 重庆 贵州 广西 湖北 江西以及上海等地
  • 17、 Flutter Widgets 之 内置各种Button

    flutter内置各种buttons Author wywinstonwy Date 2022 1 2 10 52 下午 Description import package demo202112 utils common appbar d
  • 如何实现百度的跨域案例?

  • 前端开发-echarts 横坐标与数据动态变化

    在这次项目开发中使用了ajax 进行前端和后端的数据交互 获取数据使用定时器 本文以横坐标动态变化的折线图为例进行说明 最终效果在文末 但是横坐标会随时间不停变化 在JS中 首先要初始化一个div来存放echarts
  • Java模拟一个简单的双向链表

    Java模拟一个简单的双向链表 1 链表结构 Node实体类代码 public class Node public Object item 存放数据的地方 public Node next 指向下一个结点 public Node pre 指
  • arduino 土壤温湿度传感器_Arduino温度湿度传感器-Moisture Sensor土壤湿度传感器

    外观 概述 这是一个简易的水分传感器可用于检测土壤的水分 当土壤缺水时 传感器输出值将减小 反之将增大 使用这个传感器制作一款自动浇花装置 让您的花园里的植物不用人去管理 传感器表面做了镀金处理 可以延长它的使用寿命 将它插入土壤 然后使用
  • WPF软件导致Win10系统的平板电脑小键盘自动隐藏问题

    在Win10系统下 开发WPF软件的时候 点入TextBox框内的时候 出现小键盘自动隐藏问题 通过检查发现 附加属性里面 触发了以下代码 从而触发小键盘隐藏 InputMethod SetIsInputMethodEnabled Asso
  • 华为OD机试真题-自动曝光 【2023.Q1】

    题目内容 一个图像有n个像素点 存储在一个长度为n的数组img里 每个像素点的取值范围 0 255 的正整数 请你给图像每个像素点值加上一个整数k 可以是负数 得到新图newImg 使得新图newImg的所有像素平均值最接近中位值128 请
  • Onvif协议学习:8、设备校时

    Onvif协议学习 8 设备校时 文章目录 Onvif协议学习 8 设备校时 1 编码流程 2 注意事项 3 示例代码 原文链接 https blog csdn net benkaoya article details 72486511 1
  • 学习ShaderToy第一天: glsl语言内置函数gl_FragCoord

    运行环境 Android opengl es版本 2 0 3D引擎库 Rajawali3D ShaderToy上用的shader语言 为glsl 效果是用webgl跑的 而webgl封装了opengl es 所以ShaderToy上的例子同
  • Pillow库 三分钟带你了解最基础的使用

    努力是为了不平庸 学习的最大理由是想摆脱平庸 早一天就多一份人生的精彩 迟一天就多一天平庸的困扰 目录 一 Pillow库是什么 二 以下是 Pillow 的一些主要作用和使用方法的概述 三 学习使用 Pillow 一个强大的 Python
  • 拦截器反射机制/动态代理(拦截器。通过接口调实现类也是反射实现的?)和代理模式

    反射机制 1 获得Class的实例c 如Class forName 包路径 类名 2 创建对象 1 c newInstance 直接调用无参构造函数创建对象 已过时 2 先获取构造函数再创建对象 getDeclaredConstructor
  • PHP2详细解析,(响应码,url编码,御剑)

    标题1 打开之后各种手段都尝试 抓包 源码为协议等等 结果还是不出现 然后就想到用到最近刚 下载的工具御剑来扫一下目录 发现御剑依靠的是字典进行扫描 其实这个index phps也是自己添加的字典有限 所以还是学习用一下dirsearch把
  • sublime列编辑状态

    从notepad 转到sublime 感觉sublime的列编辑没有notepad 好用 一个是先入为主的问题 notepad 进行列编辑是alt 左键 notepad 进行列选择时 选择的行没有编辑也是可以选中的 sublime只能选中编
  • 量化交易策略干货收集

    量化交易策略 价值投资 成长股内在价值投资 http www joinquant com post 541 三一投资管理公司价值选股法 http www joinquant com post 556 低估价值选股策略 http www jo
  • 网易笔试编程题

    下厨房 题目描述 牛牛想尝试一些新的料理 每个料理需要一些不同的材料 问完成所有的料理需要准备多少种不同的材料 输入描述 每个输入包含 1 个测试用例 每个测试用例的第 i 行 表示完成第 i 件料理需要哪些材料 各个材料用空格隔开 输入只