华为OD机试真题双机位C卷 【完美走位】C语言实现

完美走位

2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型

华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解

其它语言题解链接

华为OD机试真题 - 完美走位 (Python & C++ & JAVA & JS & GO)

题目描述

在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。

假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏任务必定会回到原点,则称此次走位为完美走位。

现给定玩家的走位(例如:ASDA),请通过更换其中一段连续走位的方式使得原走位能够变成一个完美走位。其中待更换的连续走位可以是相同长度的任何走位。

请返回待更换的连续走位的最小可能长度。

如果原走位本身是一个完美走位,则返回0。

输入描述

输入为由键盘字母表示的走位s,例如:ASDA

输出描述

输出为待更换的连续走位的最小可能长度。

用例1

输入

WASDAASD

输出

1

说明

将第二个A替换为W,即可得到完美走位

示例二

输入

AAAA

输出

3

说明

将其中三个连续的A替换为WSD,即可得到完美走位.

题解

思路

本题采用滑动窗口解决:

  1. 题目对于完美走位定义其实就是字符串中ASWD字母数量相同。

  2. 对于一个不完美走位的字符串通过修改一段连续的走位要想变成完美走位,那么这段连续走位必须满足包含所有多于平均数量的字符,并且每种多余平均数量的字符 在一段连续走位中数量大于等于多余部分数量。可能有点抽象,举个例子,例如现在A多两个,B多一个。找的区间必须满足这段区间至少包含两个A和一个B。

  3. 满足上述条件的最短区间就是这道题的结果。对于这类题可直接采用滑动窗口进行解决:

    • 计算AWSD每个字符在原字符串中的数量,以及超过的数量。如果都等于平均数量则已经是完美走位,输出0,否则进行下面逻辑。

    • 定义left = 0, right = 0, right开始不断右移,直到区间内满足上述2分析的要求时,这时候要寻求最短区间,尝试左边界右移,缩小边界,直到不满足3的要求时,继续尝试right右移。

    • 记录上述逻辑满足条件的最短窗口长度就是结果。

code

#include<stdio.h>#include<string.h>intmain(){// 长度可以根据输入长度变换chars[100010];scanf("%s",s);intn=strlen(s);// 不可能有解,冗余处理if(n%4){printf("-1\n");return0;}inttarget=n/4;// 记录每个字符的数量intcount_A=0,count_S=0,count_D=0,count_W=0;// 统计每个字符的数量for(inti=0;i<n;i++){switch(s[i]){case'A':count_A++;break;case'S':count_S++;break;case'D':count_D++;break;case'W':count_W++;break;}}// 计算多余数量intexcess_A=(count_A>target)?count_A-target:0;intexcess_S=(count_S>target)?count_S-target:0;intexcess_D=(count_D>target)?count_D-target:0;intexcess_W=(count_W>target)?count_W-target:0;// 已经是完美走位if(excess_A+excess_S+excess_D+excess_W==0){printf("0\n");return0;}// 滑动窗口intmin_len=n;intwindow_A=0,window_S=0,window_D=0,window_W=0;intleft=0;for(intright=0;right<n;right++){// 更新窗口计数switch(s[right]){case'A':window_A++;break;case'S':window_S++;break;case'D':window_D++;break;case'W':window_W++;break;}// 当窗口满足条件时收缩, 满足条件(窗口内所有字符大于等于 对应字符超过平均的数量)while(left<=right&&window_A>=excess_A&&window_S>=excess_S&&window_D>=excess_D&&window_W>=excess_W){intlen=right-left+1;if(len<min_len)min_len=len;// 左指针移动,更新窗口计数switch(s[left]){case'A':window_A--;break;case'S':window_S--;break;case'D':window_D--;break;case'W':window_W--;break;}left++;}}printf("%d\n",min_len);return0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1145913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文AI率99%还有救吗?别放弃,这样改

有同学发来检测结果&#xff1a;AI率99%&#xff0c;还有救吗&#xff1f; 别放弃&#xff0c;99%也能救回来。今天分享方法。 一、先别慌&#xff0c;分析原因 99%这么高&#xff0c;通常是因为&#xff1a; 论文是用AI工具生成的 或者写作风格太"标准化" 不管是…

AIGC检测原理解析:知己知彼才能百战百胜

想要降AI率&#xff0c;首先要了解AI检测的原理。今天来详细解析一下。 一、AI检测是怎么工作的&#xff1f; 简单说&#xff0c;AI检测工具会分析文本的多个维度&#xff1a; 主要包括&#xff1a; 词汇分布特征 句法结构特征 语义连贯性 困惑度分析 二、AI文本有什么特…

吐血推荐10个AI论文软件,助你轻松搞定本科生毕业论文!

吐血推荐10个AI论文软件&#xff0c;助你轻松搞定本科生毕业论文&#xff01; AI 工具让论文写作不再难 对于很多本科生来说&#xff0c;撰写毕业论文是一次既紧张又充满挑战的经历。从选题到资料收集&#xff0c;再到结构搭建和内容撰写&#xff0c;每一个环节都可能让人感到…

7 款 AI 论文写作工具,轻松满足格式要求并兼容 LaTeX 模板

7 个 AI 生成论文网站推荐 论文格式规范 LaTeX 模板一键适配 工具快速对比排名&#xff08;前7推荐&#xff09; 工具名称 核心功能亮点 处理时间 适配平台 aibiye 学生/编辑双模式降AIGC 1分钟 知网、万方等 aicheck AI痕迹精准弱化查重一体 ~20分钟 知网、格子达…

论文降AI率要花多少钱?省钱攻略分享

很多同学问&#xff1a;降AI率要花多少钱&#xff1f;有没有省钱的方法&#xff1f; 今天来分享一下。 一、检测费用 主流平台检测费用&#xff1a; 知网&#xff1a;按字数收费&#xff0c;几十到几百不等 维普&#xff1a;相对便宜一些 万方&#xff1a;价格适中 建议先…

论文查重变得简单高效,8款AI工具助你快速降重优化

在学术写作过程中&#xff0c;查重率往往成为研究者必须面对的关键指标&#xff0c;既反映了学术规范性要求&#xff0c;又可能带来修改压力。为有效应对这一挑战&#xff0c;当前已有多种智能辅助工具可供选择&#xff0c;能够帮助用户在保持学术严谨性的前提下优化文本原创性…

借助AI的力量,论文查重不再复杂,8款工具任你选择

在学术写作过程中&#xff0c;查重率往往成为研究者必须面对的关键指标&#xff0c;既反映了学术规范性要求&#xff0c;又可能带来修改压力。为有效应对这一挑战&#xff0c;当前已有多种智能辅助工具可供选择&#xff0c;能够帮助用户在保持学术严谨性的前提下优化文本原创性…

零基础学Linux:21天从“命令小白”到独立部署服务器

一、第1-7天&#xff1a;基础命令——用“文件操作”打通任督二脉核心目标&#xff1a;3天搞定“文件管理三剑客”Day1-3&#xff1a;ls/cd/pwd mkdir/touch/rm实战任务&#xff1a;用命令创建“/project/blog”多级目录&#xff0c;在其中新建index.html并写入“我的第一个网…

基于STM32的电子时钟设计与实现

基于STM32的电子时钟设计与实现摘要本文设计并实现了一款基于STM32单片机的电子时钟系统。该系统采用STM32F103C8T6单片机为核心控制单元&#xff0c;配合8位共阳数码管、矩阵键盘、LED指示灯和独立按键等硬件模块&#xff0c;实现了精确到毫秒的时间显示和设置功能。系统通过P…

学习笔记——HC-SR04 超声波测距传感器

HC-SR04 超声波测距传感器1. 实物图及主要参数指标实物外观模块尺寸&#xff1a;45mm 20mm 15mm包含一个超声波发射器和一个接收器4个引脚&#xff1a;VCC、Trig、Echo、GND技术参数指标参数数值说明工作电压DC 5V典型工作电压工作电流15mA静态电流小于2mA感应角度≤15探测锥…

7 个 AI 论文辅助平台,自动调整格式并适配 LaTeX 模板

7 个 AI 生成论文网站推荐 论文格式规范 LaTeX 模板一键适配 工具快速对比排名&#xff08;前7推荐&#xff09; 工具名称 核心功能亮点 处理时间 适配平台 aibiye 学生/编辑双模式降AIGC 1分钟 知网、万方等 aicheck AI痕迹精准弱化查重一体 ~20分钟 知网、格子达…

论文被打回说AI率太高,三天内怎么改好?

昨天有同学急哭了&#xff1a;论文被打回&#xff0c;说AI率太高&#xff0c;只给三天时间改。 这种情况我帮过很多人&#xff0c;今天分享一下快速改好的方法。 一、先别慌&#xff0c;分析问题 首先查一下具体是哪些段落AI率高。检测报告一般会标出来。 重点改标红的部分就…

硕士论文AI检测要求是多少?怎么达标?

很多硕士同学问&#xff1a;AI检测要求是多少&#xff1f;怎么才能达标&#xff1f; 今天来详细说一下。 一、硕士论文AI检测要求 不同学校要求不一样&#xff0c;常见标准&#xff1a; 严格的学校&#xff1a;10%以下 一般学校&#xff1a;15-20%以下 宽松的学校&#xf…

《创业之路》-825-从**第一性原理(First Principles)**看世界万象

从**第一性原理&#xff08;First Principles&#xff09;**看世界万象&#xff0c;是一种回归事物本质、剥离表象与假设的思维方式。它不依赖类比、经验或惯例&#xff0c;而是像科学家一样&#xff0c;将复杂问题拆解到最基本的、不可再简化的“真理”或“事实”&#xff0c;…

本科毕业论文AI检测全流程指南

又到毕业季&#xff0c;很多本科同学第一次遇到AI检测。今天整理一份完整指南。 一、什么时候要做AI检测&#xff1f; 一般流程&#xff1a; 论文初稿完成 自己先检测一遍 修改到达标 提交学校检测 通过后答辩 二、本科论文AI率要求 大多数学校要求20-30%以下&#xf…

论文查重效率提升,8款AI工具让改写降重更智能

在学术写作过程中&#xff0c;查重率往往成为研究者必须面对的关键指标&#xff0c;既反映了学术规范性要求&#xff0c;又可能带来修改压力。为有效应对这一挑战&#xff0c;当前已有多种智能辅助工具可供选择&#xff0c;能够帮助用户在保持学术严谨性的前提下优化文本原创性…

大事件Day02

怎么根据用户名查询用户&#xff0c;这里我们用到JWT令牌&#xff0c;当我们在登录创建一个登录令牌&#xff0c;我们在有效载荷中加入了所以当我们在此根据用户名查询用户&#xff0c;我们就可以从请求中获得JWT令牌RequestHeader(name"Authorization") String toke…

告别繁琐的论文查重,8款AI辅助工具一键优化文本

在学术写作过程中&#xff0c;查重率往往成为研究者必须面对的关键指标&#xff0c;既反映了学术规范性要求&#xff0c;又可能带来修改压力。为有效应对这一挑战&#xff0c;当前已有多种智能辅助工具可供选择&#xff0c;能够帮助用户在保持学术严谨性的前提下优化文本原创性…

pg on delete 策略探讨

你好&#xff01;很高兴能和你探讨 PostgreSQL&#xff08;以下简称 PG&#xff09;的知识。 作为一名资深开发者&#xff0c;你一定处理过不少“脏数据”或者“孤儿数据”。在数据库的世界里&#xff0c;当我们删除一条记录时&#xff0c;那些引用它的“下游数据”该何去何从&…

8款AI工具深度对比,让你的论文查重过程更加流畅

在学术写作过程中&#xff0c;查重率往往成为研究者必须面对的关键指标&#xff0c;既反映了学术规范性要求&#xff0c;又可能带来修改压力。为有效应对这一挑战&#xff0c;当前已有多种智能辅助工具可供选择&#xff0c;能够帮助用户在保持学术严谨性的前提下优化文本原创性…