每日OJ_牛客_OR59字符串中找出连续最长的数字串_双指针_C++_Java

目录

牛客_OR59字符串中找出连续最长的数字串

题目解析

C++代码1

C++代码2

C++代码3

Java代码


牛客_OR59字符串中找出连续最长的数字串

字符串中找出连续最长的数字串_牛客题霸_牛客网


题目解析

        双指针: 遍历整个字符串,遇到数字的时候,用双指针找出这段连续的数字子串,根据此时的长度更新起始位置和长度。

C++代码1

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

int main()
{
    string s;
    cin >> s;
    int begin = -1, len = 0;
    for(int i = 0; i < s.size(); i++)
    {
        if(s[i] >= '0' && s[i] <= '9')
        {
            int j = i;
            while(j < s.size() && s[j] >= '0' && s[j] <= '9')
            {
                j++;
            }
            if(j - i > len)
            {
                begin = i;
                len = j - i;
            }
            i = j;
        }
    }
    if(begin == -1)
    {
        cout << "" << endl;
    }
    else
    {
        cout << s.substr(begin, len) << endl;
    }
    return 0;
}

C++代码2

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

int main()
{
    string str;
    cin >> str;
    int sz = str.size();
    int maxLen = 0;
    int begin = 0, end = 0;
    for(int left = 0, right = 0; left < sz && right < sz;)
    {
        while(left < sz && (str[left] > '9' || str[left] < '0')) // 是字母就循环
        {	// 或的两个没加括号直接数组越界。。。。
            ++left; // 找数字区间的左边
        }
        right = left;
        while(right < sz && str[right] >= '0' && str[right] <= '9') // 是数字就循环
        {
            ++right; // 找数字区间的右边
        }
        int len = right - left;
        // cout << "len : " << len << " " << left << " " << right << " sz " << sz << endl;
        if(len > maxLen && left < sz && right <= sz)
        {
            // string tmp(str.begin() + left, str.begin() + right);
            // cout << tmp << endl;
            // cout << left << " " << right << " sz " << sz << endl;
            end = right;
            begin = left;
            maxLen = len;
        }
        left = right;
    }
    string ret(str.begin() + begin, str.begin() + end);
    cout << ret << endl;
    return 0;
}

C++代码3

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

int main() 
{
    string str, ret = "", tmp = "";
    cin >> str;
    int n = str.size();
    for(int i = 0; i <= n; i++)
    {
        if(isdigit(str[i]))
        {
            tmp += str[i]; // 进窗口
        }
        else
        {
            if(tmp.size() > ret.size())
            {
                ret = tmp;
            }
            else 
            {
                tmp = "";
            }
        }
    }
    cout << ret;
    return 0;
}

Java代码

import java.util.Scanner;
import java.io.*;
public class Main
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        char[] s = br.readLine().toCharArray();
        int begin = 0, len = 0;
        for(int i = 0; i < s.length; i++)
        {
            if(s[i] >= '0' && s[i] <= '9')
            {
                int j = i;
                while(j < s.length && s[j] >= '0' && s[j] <= '9')
                {
                    j++;
                }
                if(j - i > len)
                {
                    begin = i;
                    len = j - i;
                }
                i = j;
            }
        }
        for(int i = begin; i < begin + len; i++)
        {
            System.out.print(s[i]);
        }
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

坚果N1 Air高亮版对比当贝D6X高亮版:谁是2000元预算的投影仪王者?

当贝D6X高亮版新品升级&#xff0c;对于那些计划在这个时间点购买投影仪的用户来说&#xff0c;现在是个绝佳的时机&#xff01;特别是那些预算在两千元左右的&#xff0c;目前两千元左右的投影仪&#xff0c;无外乎两款产品&#xff0c;当贝D6X高亮版和坚果N1 Air高亮版&#…

常见区块链数据模型介绍

除了加密技术和共识算法&#xff0c;区块链技术还依赖于一种数据模型&#xff0c;它决定了信息如何被结构化、验证和存储。数据模型定义了账户如何管理&#xff0c;状态转换如何发生&#xff0c;以及用户和开发者如何与系统交互。 在区块链技术的短暂历史中&#xff0c;数据…

13年408计算机考研-计算机网络

第一题&#xff1a; 解析&#xff1a;OSI体系结构 OSI参考模型&#xff0c;由下至上依次是&#xff1a;物理层-数据链路层-网络层-运输层-会话层-表示层-应用层。 A.对话管理显然属于会话层&#xff0c; B.数据格式转换&#xff0c;是表示层要解决的问题&#xff0c;很显然答案…

怎样用云手机进行TikTok矩阵运营?

在运营TikTok矩阵时&#xff0c;许多用户常常面临操作复杂、设备过多等问题。如果你也感到操作繁琐&#xff0c;不妨考虑使用云手机。云手机具备丰富的功能&#xff0c;能够帮助电商卖家快速打造高效的TikTok矩阵。接下来&#xff0c;我们将详细解析这些功能如何提升你的运营效…

智能化转型新篇章:EasyCVR引领大型连锁超市视频监控进入AI时代

随着科技的飞速发展&#xff0c;视频监控系统在各行各业中的应用日益广泛&#xff0c;大型连锁超市作为人员密集、商品繁多的公共场所&#xff0c;其安全监控显得尤为重要。为了提升超市的安全管理水平、减少损失、保障顾客和员工的安全&#xff0c;引入高效、全面的视频监控系…

Meta震撼发布Llama3.2大规模模型

在2024.9.26的年Meta Connect大会上&#xff0c;Meta正式推出了Llama3.2模型&#xff0c;旨在提升边缘AI和视觉任务的能力。Llama3.2系列包括11亿和90亿参数的中型视觉模型&#xff0c;以及为移动设备优化的1亿和3亿参数的小型模型&#xff0c;并针对高通和联发科的硬件平台进行…

Navicat数据库管理工具实现Excel、CSV文件导入到MySQL数据库

1.所需要的工具和环境 navicat等第三方数据库管理工具云服务器中安装了 1Panel面板搭建的mysql数据库 2.基于 1Panel启动mysql容器 2.1 环境要求 安装前请确保您的系统符合安装条件&#xff1a; 操作系统&#xff1a;支持主流 Linux 发行版本&#xff08;基于 Debian / Re…

C#和数据库高级:虚方法

文章目录 一、抽象方法和抽象类中的思考1.1、回顾抽象方法的特点1.2、针对抽象方法问题的引出 二、虚方法的使用步骤2.1、虚方法重写方法的调用2.2、系统自带的虚方法2.3、重写Equals方法2.4、虚方法和抽象方法的比较 三、虚方法和抽象方法的联系3.1、ToString()方法的应用 一、…

ARM点灯---看手册

知识点&#xff1a; 一个程序可能会遇到内存泄漏问题&#xff0c;可能一次运行泄漏几M大小&#xff0c;执行几个小时才会泄漏到站崩溃&#xff0c;所以要查看是否有内存泄漏。 查看手册教程 0927-上午 视频1&#xff1a;25&#xff1b;00 硬件程序开发流程 最小系统:单片…

单词的秘密3:从eight说起

单词的秘密&#xff0c;所谓秘密&#xff0c;就是指只有圈内的人知道&#xff08;而圈子往往代表了狭隘或某种专业性、独特或独占或垄断性&#xff09;&#xff0c;或者只有少数的人知道。 同样&#xff0c;一些单词的秘密&#xff0c;如果我不说&#xff0c;可能这一辈子&…

简单的spring缓存 Cacheable学习

简单的spring缓存 Cacheable学习 1.需求 项目中有很多的方法查询的数据其实是不会经常变的&#xff0c;但是其整体的查询sql以及调用第三方数据获取数据花费的时间很长&#xff0c;现在考虑对此类型的接口进行优化&#xff0c;首先想到的是对其进行缓存操作&#xff0c;所以简…

Docker全家桶:从0到加载本地项目

安装docker&#xff0c;我们选择的是CentenOS 7。 目录 Docker安装 命令 命令别名 数据卷挂载 Dockerfile 容器网络互联 Docker安装 1. 先删除本机旧的或者残留的docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest …

Python实战:爬取网页图片

文章目录 一、实战概述二、图片网站三、爬取图片1、编写程序&#xff0c;实现功能2、运行程序&#xff0c;查看结果 四、实战小结 一、实战概述 在本实战项目中&#xff0c;我们编写了一个Python程序&#xff0c;用于从指定的图片网站&#xff08;https://pic.netbian.com/4kf…

低代码平台推荐与对比,国内外哪家更胜一筹?

低代码开发通过图形界面简化开发&#xff0c;提升速度与协作&#xff0c;降低成本。国内外平台如ZohoCreator、OutSystems等各具特色&#xff0c;支持快速开发、集成与数据安全。企业可试用后按需选择&#xff0c;降低决策成本。 一、低代码是什么&#xff1f; 低代码开发是一…

EasyExcel将数据库里面的数据生成excel文件

EasyExcel官方文档 1.在model模块导入依赖 <!-- 生成报表--> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.3</version> </dependency> 2.修饰实体类 package…

【JAVA报错已解决】 Java.lang.ArrayIndexOutOfBoundsException

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

养猫久了才发现,宠物空气净化器才是真正除猫毛的神器

相信每个打工人都在期待这个国庆小长假吧&#xff0c;终于等到了&#xff01;这次我要把属于我的都夺回来&#xff01;刚好工资到手、小长假我有&#xff0c;只想往家里一躺什么也不想&#xff0c;唯一最想做的就是要在这个节假日里好好的陪一下我家猫咪&#xff0c;还有就是买…

数据结构:链表算法题

目录 题1.删除链表中的某个元素val题目表述&#xff1a;思路1:在源链表中进行删除更改思路2:创建一个新链表 题2:反转一个链表问题描述&#xff1a;思路1:在源链表内部进行操作思路2:创建一个新链表 题3:寻找链表中间位置题目描述:思路1:思路2:快慢指针 题1.删除链表中的某个元…

QT 获取视频帧Opencv获取清晰度

先展示结果&#xff1a; 1.获取摄像头的分辨率 mResSize.clear();mResSize camera_->supportedViewfinderResolutions();ui->comboBox_resulation->clear();int i0;foreach (QSize msize, mResSize) {qDebug()<<msize;ui->comboBox_resulation->addItem(…

【CSS|第2期】探索HTML与CSS中的文档流:从自然流到高级布局技巧

日期&#xff1a;2024年9月9日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉在这里插入代码片得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对…