华为德科机试

2023-11-06

一、题型一

(共两题,每题100分,难度1颗星)

1.一个字符串,首尾相连,计算出现偶数个’o’的字符串最长的长度
例子:

alolobo
输出:6

looxdolx
输出:7

bcbcbc
输出:6

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author AngleWang
 * @datetime 2021-03-05 13:58
 * 通过率100%
 */
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String temp;
        while ((temp=br.readLine())!=null) {
            int length=temp.length();
            int sum=0;
            for(int i=0;i<length;i++) {
                if(temp.charAt(i)=='o') {
                    sum++;
                }
            }
            if(sum%2==0) {
                System.out.println(temp.length());
            } else {
                System.out.println(temp.length()-1);
            }
        }
    }
}

2.从一堆数种取出所有众数,输出中间的那个,如果有偶数个众数,输出中间两个的平均值
用例1:

2 1 5 4 3 3 9 2 7 4 6 2 15 4 2 4
3

用例2:

5 1 5 3 5 2 5 5 7 6 7 3 7 11 7 55 7 9 98 9 17 9 15 9 9 1 39
7

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

/**
 * @author AngleWang
 * @datetime 2021-03-05 13:58
 * 通过率:95%
 */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String temp;
        while ((temp=br.readLine())!=null) {
            //初始化输入
            String[] s = temp.split(" ");
            int[] array=new int[s.length];
            for(int i=0;i<s.length;i++) {
                array[i]=Integer.parseInt(s[i]);
            }

            //计算个数
            int[] result=new int[1000];//1~999
            int max=0;
            for(int i=0;i<s.length;i++) {
                result[array[i]]++;
                if(result[array[i]]>max) {
                    max=result[array[i]];
                }
            }

            //存放众数并计算中位数
            List<Integer> list=new ArrayList<>(s.length/max);
            for(int i=0;i<1000;i++) {
                if(result[i]==max) {
                   list.add(i);
                }
            }

            boolean flag=list.size()%2==0;
            int index=list.size()/2;
            if(!flag) {//奇数个众数
                System.out.println(list.get(index));
            } else {//偶数个众数
                int oo=(list.get(index)+list.get(index-1))/2;
                System.out.println(oo);
            }
        }
    }
}

二、题型二

(共一题,200分,难度两颗星)

第一个数,给出字母的范围,n表示从前n个字母中取
给出字符串
求没有回文子串的下一个字符串
求不出就输出NO

用例1:
3
cba
结果:NO
用例2:
5
cba
结果:cbd

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author AngleWang
 * @datetime 2021-03-05 13:58
 * 通过率65%
 */
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String temp;
        while ((temp = br.readLine()) != null) {
            int n = Integer.parseInt(temp);
            StringBuilder sb =new StringBuilder(br.readLine());
            int length=sb.length();
            boolean flag0=false;
            for(int i=length-1;i>-1;i--) {//从最后一个到第一个
                boolean flag1=false;//从头到尾改完了,就可以break;

                for(int j=i;j<length;j++) {//从i改到最后
                    boolean flag=false;
                    for(int k=sb.charAt(j)+1;k<n+'a';k++) {//遍历字母
                        if((j<1||k!=sb.charAt(j-1))&&(j<2||k!=sb.charAt(j-2))) {//不等于前一个也不等于前前个
                            flag=true;
                            sb.replace(j,j+1,""+(char)k);
                            break;
                        }
                    }
                    if(!flag) {
                        break;
                    }
                    if(flag&&j==length-1) {
                        flag1=true;
                    }
                }

                if(flag1) {
                    flag0=true;
                    break;
                }
            }

            if(flag0) {
                System.out.println(sb);
            } else  {
                System.out.println("NO");
            }
        }
    }

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

华为德科机试 的相关文章

  • QT结合Mupdf实现预览pdf

    要在Qt中结合MuPDF库预览PDF文件 你可以按照以下步骤进行操作 1 下载并安装MuPDF库 首先 你需要从MuPDF的官方网站或代码托管网站上下载MuPDF库的源代码 并按照文档中的说明进行安装 确保你已经安装了所有必需的依赖项 2
  • 因果推断综述-A Survey on Causal Inference

    最近读到一篇讲述很全面的综述文献 A Survey on Causal Inference 对于接触因果推断不久的同学而言是特别详细的介绍和科普 文献很长 我会分成几部分介绍 目录 摘要 第一部分 简介 第二部分 因果推断基础知识 第三部分
  • java(有关类成员变量的访问权限)

    private public protected 默认不写 firendly 1 Class类的访问权限 public 可以供所有的类访问 默认 默认可以称为friendly但是 java语言中是没有friendly这个修饰符的 这样称呼应
  • Linux 编写定时任务

    1 先进入根目录 mkdir p home wangwenjun scripts cd home wangwenjun scripts 2 编写第一个shell文件 test sh vim test sh bin sh now date Y
  • Windows下Git-preview中文乱码的解决方法

    在Windows下安装Git preview 1 7 4后 使用中发现许多的乱码问题 感觉甚是不便 这是因为Git是在linux下开发的管理软件 而linux的编码方式是基于UTF 8的 所以移植到Windows之后难免会存在编码方式不同的
  • android wear 微信语音,moto 360手表语音回复微信教程

    moto360智能手表是一款搭载android系统的智能手表 目前微信已经添加了对智能手表的支持 不过很多玩家对于怎么使用moto 360语音回复微信还不是很清楚 下面小编就为大家分享一下moto 360语音回复微信教程 moto 360语
  • 最大权闭合子图(最小割)

    最大权闭合子图 最大流最小割 参考资料 1 最大权闭合子图 权闭合子图 存在一个图的子图 使得子图中的所有点出度指向的点依旧在这个子图内 则此子图是闭合子图 在这个图中有8个闭合子图 3 4 2 4 3 4 1 3 4 2 3 4 1 2
  • Qt绘图QGraphicsView、QGraphicsScene、QGraphicsItem简述

    Qt绘图中 QGraphicsView QGraphicsScene QGraphicsItem三者之间密不可分 以下简单介绍三者之间关系 三者之间关系 如同绘画的过程 Qt绘图中 QGraphicsView的作用相当于画板 QGraphi
  • linux 使用笔记

    1 查看使用的所有端口 netstat ntlp 2 查找文件路径 locate 文件名 如 find 文件名 如 find home 3 Linux下查看和停止所有java进程 在Linux下查看所有java进程命令 ps ef grep
  • 摄像机跟踪主角第三人称的视角

    using UnityEngine using System Collections public class FollowFarget MonoBehaviour public Transform PlayerTransfrom 定义一个
  • Unity 性能优化五:渲染模块压力

    CPU压力 Batching 在GPU渲染前 CPU会把数据按batch发送给GPU 每发送一次 都是一个drawcall GPU在渲染每个batch的时候 会切换渲染状态 这里的渲染状态指的是 影响对象在屏幕上的外观的渲染属性或材质 比如
  • OpenCV自适应阈值化函数adaptiveThreshold

    图像阈值化的一般目的是从灰度图像中分享目标区域和背景区域 然而仅仅通过设定固定阈值很难达到理想的分割效果 在实际应用中 我们可以通过某个像素的邻域以某种方法确定这个像素应该具有的阈值 进而保证图像中各个像素的阈值会随着周期围邻域块的变化而变
  • EasyExcel的简单导出

    EasyExcel的简单导出 Controller层代码 GetMapping download public void download String name HttpServletResponse response fileManag
  • 5、安全理论与框架-企业架构模型(EA)-业务组件模型(IBM CBM)

    一 背景 CBM component business model 组件化业务模型或叫业务组件模型 是IBM在2003年提出的 当时的大背景 公司内 外专业化 CBM是IBM做业务架构的一个重要方法论 就是把业务描述成一个个独立的小块 我们
  • 面试题一:前端去重方法汇总你知道多少?

    题记 我们项目中有很多的业务是需要去重的 那么下面是常用的一些去重的一些方法 用indexOf方法去重 新建一个空数组 遍历需要去重的数组 将数组元素存入新数组中 存放前判断数组中是否已经含有当前元素 没有则存入 此方法也无法对NaN去重
  • 上采样,下采样,过采样,欠采样的区别

    上下是方法 过欠是现象 上采样 upsampling 应该就是内插 补零滤波 下采样 downsampling 应该就是抽取 过采样就是采样频率大于两倍的信号最高频率 欠采样就是采样频率小于两倍的信号最高频率 欠采样失真仅仅是对基带信号而言
  • 源码编译llvm Error 记录

    cmake G Unix Makefiles llvm DLLVM ENABLE PROJECTS bolt clang clang tools extra compiler rt cross project tests libclc l
  • OceanBase:编译、安装和配置手册

    概述 OceanBase是 一个高性能的分布式表格系统 提供类似BigTable的性能和扩展性 但表格中保存的是强类型的数据 比如integer string datetime等 它使用C 编写 运行于64位Linux环境下 生产环境下需要
  • Ubuntu20.04编译安装opencv3.2和opencv_contrib-3.2

    图像特征提取中需要用到SIFT等算法 因此不得不安装从源码编译安装opencv contrib 网上有很多教程 但是在不同的环境下多少会出现一些错误 针对Ubuntu20 04 gcc 7环境下对opencv opencv contrib编

随机推荐

  • ios内嵌h5点击输入框页面放大

    首先咱们这个是基于修改meta没卵用的情况 去修改这个input的style把font size改成16px 我的机型是xr 自己用了反正有效 希望对你有帮助
  • 实战:tomcat版本升级

    tomcat版本升级 由原来的apache tomcat 7 0 96升级到apache tomcat 7 0 109 版本 1 先把原来的备份 mv apache tomcat 7 0 96 1 apache tomcat 7 0 96
  • 01-Kafaka

    1 Kafka 2 的安装与配置 1 上传kafka 2 12 1 0 2 tgz到服务器并解压 tar zxf kafka 2 12 1 0 2 tgz C opt 2 配置环境变量并更新 编辑profile配置文件 vim etc pr
  • 春招大厂面试升级笔记!光CRUD已经不能满足了

    大厂的面试已经升级 早就不满足于CRUD了 今天给大家分享的就是大厂最近升级的面试小 炒 全篇共计为大家详细划分了19个部分 字数超过了20W字 面试题数量超过了1500道 同时结合了大量的实例和代码 涵盖了 Java基础 并发编程 JVM
  • python中sort()和sorted()排序函数用法详解

    python中对数据的排序主要使用sort 和sorted 方法 1 sort 方法 语法结构 列表序列 sort key None reverse False 注意 reverse 表示排序规则 reverse True 降序 rever
  • typora插件_Typora + PicGo 编写博客的神器

    一 软件版本要求 typora 0 9 93 使用最新版本即可 下载链接 https www typora io PicGo 2 2 0以上 也是最好用最新版的 下载链接 https github com Molunerfinn PicGo
  • stable diffusion实践操作-embedding(TEXTUAL INVERSION)

    系列文章目录 本文专门开一节写图生图相关的内容 在看之前 可以同步关注 stable diffusion实践操作 文章目录 系列文章目录 前言 1 embeddding的功能 2 如何去下载 https civitai com models
  • 粽子SHOP-粽子商城官网-一款简洁大气的官网源码

    介绍 一款简洁大气的官网源码 无后台 直接上传服务器或主机即可 可自行编辑内容非常实用的个人介绍页面 大家需要的自行下载 网盘下载地址 http zijieyunpan com OSdKfaj4W2z0 图片
  • FPGA时序分析约束

    时序分析约束 时序分析 时序分析的目的就是通过分析fpga设计各个寄存器之间的数据和时钟传输路径 来分析数据延迟和时钟延迟之间的关系 保证整个系统中的所有寄存器都能正确存储数据 时序约束 两个作用 1 告知EDA软件 该设计需要达到怎么样的
  • 程序员如何逆袭,达到财富自由?

    首先 先给程序员做一个定义 我定义的是 一个普通的程序员 家里普普通通 自己也没在大厂 一个中等公司 拿着两万左右的薪水 年终奖一般发不超过两个月 这样的程序员 逆袭的路有三条 背题 去大厂 混到高P拿股票 劲熬 找到靠谱的创业公司 拿到期
  • Python实现汽车油耗预测_基于Tensorflow2.X

    目录 一 开发环境 二 代码实现 2 1 准备操作 2 1 1 导入所需模块 2 1 2 matplotlib无法正常显示中文的解决方案 若无此情况可跳过 2 2 加载数据集 2 3 数据处理 2 3 1 数据清洗 2 3 2 数据转换 2
  • 学习underscore之比较两个元素是否相同

    underscore1 11 0 中判断两个参数相同的函数为isEqual isEqual 函数认为以下相等 0 与 0 不相等 NaN 与 NaN相等 a i 与 new RegExp a i 相等 5 与 new String 5 相等
  • 【Qt OpenGL教程】10:加载3D世界,并在其中漫游

    第10课 加载3D世界 并在其中漫游 参照NeHe 这次教程中 我将教大家如何加载一个3D世界 并在3D世界中漫游 这相较于我们只能创造一个旋转的立方体或一群星星时有很大的进步了 当然这节课代码难度不低 但也不会很难 只要你跟着我慢慢一步一
  • flutter 生成jks文件 获取sha1

    debug版本 SHA1 C Program Files Java jdk1 8 0 191 bin keytool exe list keystore debug keystore 找到这个目录下的keytool exe 拖进cmd 然后
  • Spring 与 MyBatis 的整合

    1 整合思路 思路 将MyBatis框架中使用到的核心组件配置到Spring容器中 交给Spring来创建和管理 具体来说是将需要自行编码通过SqlSessionFactoryBuilder读取配置文件 构建SqlSessionFactor
  • 【刷题篇】贪心算法(一)

    文章目录 分割平衡字符串 买卖股票的最佳时机 跳跃游戏 钱币找零 分割平衡字符串 class Solution public int balancedStringSplit string s int len s size int cnt 0
  • MAVEN setting.xml

    MAVEN setting xml
  • 【深度学习】 Python 和 NumPy 系列教程(十八):Matplotlib详解:2、3d绘图类型(4)3D曲面图(3D Surface Plot)

    目录 一 前言 二 实验环境 三 Matplotlib详解 1 2d绘图类型 2 3d绘图类型 0 设置中文字体 1 3D线框图 3D Line Plot 2 3D散点图 3D Scatter Plot 3 3D条形图 3D Bar Plo
  • zabbix之自定义监控MySQL主从状态和延迟

    配置环境 监控端 192 168 141 134 zabbix servre zabbix agent Mysql从库 192 168 141 135 zabbix agent mariadb Mysql主库 192 168 141 137
  • 华为德科机试

    一 题型一 共两题 每题100分 难度1颗星 1 一个字符串 首尾相连 计算出现偶数个 o 的字符串最长的长度 例子 alolobo 输出 6 looxdolx 输出 7 bcbcbc 输出 6 import java io Buffere