java华为od机试 寻找字母开头或者结尾,其他字符为数字的字符串最大长度

华为OD机试 - 找终点(Java) 首先,这题至少要走两步,因为第一步的步长是自选的,只要小于len/2,即可,也就是说第一步走完,应该处于[1, len/2]的范围中,我们假设处于A位置。给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。第一步: 第一个可选步长选择2,从第一个成员7开始走2步,到达9;第二步: 从9开始,经过自身数字9对应的9个成员到最后。由正整数组成的数组,以空格分隔,数组长度小于100,正整数,表示最少的步数,如果不存在输出。 阅读详情

在这里插入图片描述

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

// afv1234ad  4
public class Main10 {
    public static void main(String[] args) throws IOException {
        BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
        String first;
        while (null!=(first=buff.readLine())){
            String s = first.replaceAll("[a-zA-Z]", "");
            String s2 = first.replaceAll("\\d", "");
            if (s.length()==0||s2.length()==0) System.out.println(-1);
            String s1 = first.replaceAll("[a-zA-Z](\\d*)", "");
            StringBuilder str = new StringBuilder();
            String s3 = first.replaceAll("\\d", "-");
            String s4 = s3.replaceAll("[a-zA-Z]+", "a");


            char[] chars = s4.toCharArray();
            int start=0,end=0;
            boolean a1=true;
            boolean a2=true;
            ArrayList<Integer> list = new ArrayList<>();
            int len =chars.length;
            for (int j=0;j<len;j++){
                if (chars[j]=='a') {
                    start=j;
                    if(j+1<=len){
                        for (int k=j+1;k<chars.length;k++){
                            if(k==len-1&&chars[k]=='-'){
                                end=k;
                                list.add(end-start+1);
                                break;
                            }
                            if(chars[k]=='a'||k==len-1) {
                                end=k;
                                list.add(end-start);
                                break;
                            }
                        }
                    }
                }
            }
            for (int j=len-1;j>0;j--){
                char tmp=chars[j];
                if (tmp=='a') {
                    end=j;
                    if(j-1>=0){
                        for (int k=j-1;k>=0;k--){
                            if(k==0 && chars[k]=='-'){
                                start=k;
                                list.add(end-start+1);
                                break;
                            }
                            if(chars[k]=='a' ) {
                                start=k;
                                list.add(end-start);
                                break;
                            }
                        }
                    }
                }
            }
            Collections.sort(list);
            Collections.reverse(list);
            System.out.println(list);
            System.out.println(list.get(0));

        }
    }
}
【华为OD机试B卷,GO题解独家】找终点 要求输出在最少的跳跃次数下能够跳到 nums 数组的最后一个位置的步数(包括起点和终点),如果不能跳到,则输出 -1。从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少, 如果目标不可达返回-1,只输出最少的步骤数量。,最大为 100 个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。由正整数组成的数组,以空格分隔,数组长度小于 100,请自行解析数据数量。只能向数组的尾部走,不能往回走。 阅读详情

相关推荐

华为OD机试题,用 Java 解【找终点】问题

本篇题目:找终点 题目 给定一个正整数数组,设为 nums,最大为 100 个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。 要求: 1、第一步必须从第一元素开始,且 1

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

【华为OD机试真题】127、 最长的非严格递增连续数字列的长度 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)

输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字列的长度,(比如12234属于非严格递增连续数字序列)。

KJ.JK 1145

华为OD统一考试 - 组成最大数(C++ Java JavaScript Python)100%

小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。

算法大师! 3580

【华为OD机试真题 2025B卷】127、最长的非严格递增连续数字列的长度 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025B卷】127、最长的非严格递增连续数字列的长度 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 2068

【华为OD机试真题】A卷-字符串解密(JAVA)

【华为OD机试真题】A卷-字符串解密(JAVA):给定两个字符串string1和string2。string1是一个被加扰的字符串。string1由小写英文字母('a'~'z')和数字字符('0'~'9')组成,而加扰字符串由'0'~'9'、'a'~'f'组成。string1里面可能包含0个或多个加扰子串,剩下可能有0个或多个有效子串,这些有效子串被加扰子串隔开。string2是一个参考字符串,仅由小写英文字母('a'~'z')组成。

u014481728的博客 952

【华为OD机试真题】13、非严格递增连续数字序列 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)

输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度,(比如12234属于非严格递增连续数字序列)

KJ.JK 8889

【华为OD机考真题】- 非严格递增连续数字序列(Java)

🔔本文收录于「2025华为OD机试真题(Java版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!! 🚫提醒:拒绝一切代考/替考,违法必究!    💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新皆可阅读使用!

**My Coding Family** 1121

【华为OD机试真题E卷 C语言】513、过滤组合字符串 | 机试真题+思路参考+代码解析(E卷复用)

【华为OD机试真题E卷 C语言】513、过滤组合字符串 | 机试真题+思路参考+代码解析(E卷复用) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od,华为od算法,华为o

KJ.JK 2653

【华为OD机试真题】13、非严格递增连续数字序列 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度,(比如12234属于非严格递增连续数字序列)

KJ.JK 6555

【100%通过率】2025华为OD机试真题 C语言 实现【字符串解密】

2025华为OD机试真题 C语言 实现【字符串解密】给定两个字符串string1和string2。string1是一个被加扰的字符串。string1由小写英文字母('a'~'z')和数字字符('0'~'9')组成,而加扰字符串由'0'~'9'、'a'~'f'组成。string1里面可能包含0个或多个加扰子串,剩下可能有0个或多个有效子串,这些有效子串被加扰子串隔开。

MISAYAONE的博客 1383

【华为OD机试真题 2025B卷】671、最长的非严格递增连续数字列的长度 | 机试真题+思路参考+代码解析(C++、Java、Py)(B卷复用)

【华为OD机试真题 2025B卷】671、最长的非严格递增连续数字列的长度 | 机试真题+思路参考+代码解析(C++、Java、Py)(B卷复用) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华

KJ.JK 4723

【华为OD机考真题】- 非严格递增连续数字序列(B卷-100分)(Java)

🔔本文收录于「最新最全华为OD机试真题(Java版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!! 🚫提醒:拒绝一切代考/替考,违法必究!本人所写题库均搜集于互联网。    💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新皆可阅读使用!

**My Coding Family** 1255

【华为OD机试真题】162、 过滤组合字符串 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)

数字0、1、2、3、4、5、6、7、8、9分别关联a~z 26个英文字母 >  ● 0关联 a、b、c >  ● 1关联 d、e、f >  ● 2关联 g、h、i >  ● 3关联 j、k、l >  ● 4关联 m、n、o >  ● 5关联 p、q、r >  ● 6 关联 s、t >  ● 7 关联 u、v >  ● 8关联 w、x >  ● 9关联 y、z >  例如7关联u、v, 8关联x、w,

KJ.JK 1167

华为OD机试真题解析:字符串压缩解压算法与多语言实现

字符串处理是编程面试中的高频考点,其核心在于对字符序列的解析、转换与重构。理解字符串压缩与解压的原理,不仅涉及基础的循环控制与条件判断,更体现了状态机与双指针等核心算法思想在解析类问题中的应用价值。这类技术广泛应用于数据序列化、日志压缩、简单编码传输等场景,是检验程序员基本功与逻辑严谨性的试金石。本文以华为OD机试热门真题“一种字符串压缩表示的解压”为例,深入剖析其多位数处理、缺省值、边界条件等关键细节,并提供C、C++、Java、Python、JavaScript五种语言的实现方案与避坑指南,帮助读者掌握

weixin_30394669的博客 838

【华为OD机试真题 Java语言】13、非严格递增连续数字序列 | 机试真题+思路参考+代码解析(多用例)

输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度,(比如12234属于非严格递增连续数字序列)

KJ.JK 2413

华为OD机试题,用 Java 解【TLV 编码 解码】问题

TLV 解码 题目 TLV 编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用 Tag 标识,Tag 在码流中唯一不重复,Length 表示信元 Value 的长度,Value 表示信元的值。 码流以某信元的 Tag 开头,Tag 固定占一个字节,Length 固定占两个字节,字节序为小端序。 现给定 TLV 格式编码的码流,以及需要解码的信元 Tag,请输出该信元的 Value。 输入码流的 16 机制字符中,不包括小写字母,且要求输出的 16 进制字符串中也不要包含小写

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 4682

华为OD机试题 - 非严格递增连续数字序列(JavaScript)| 机考必刷

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

禾赛XT16 vs XT32激光雷达实测对比:选16线还是32线?看完这篇不纠结

本文深度评测禾赛XT16与XT32激光雷达的性能差异与应用选择。通过实测数据对比,分析16线与32线激光雷达在点云密度、动态场景适应性及与IMU协同工作等方面的表现,帮助用户根据自动驾驶、机器人等不同应用场景做出最优选型决策。

table的专栏 944
上一篇: xshell无法连接虚拟机
下一篇: java华为od机试 已知总和为sum,连续序列个数为n,求该序列
BigData-0
博客等级 码龄7年 341粉丝 309原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData-0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值