牛客刷题--找数字-- 字符串检测-字符串 双指针

1.找数字

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int left=sc.nextInt();
        int right=sc.nextInt();
        int target=sc.nextInt();


        for(int i=left;i<=right;i++){
            if(i%target==0)
            {
                    System.out.print(i);
                  return; 
            }
        }
         System.out.print(-1);
    }
}

2.买橘子


java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        //最少需要购买的袋数。
        
        for (int i = n / 8; i >= 0; i--) {
            int rest = n - i * 8;
            if (rest % 6 == 0) {
                System.out.println(i + rest / 6);
                return;
            }
        }
        
        System.out.println(-1);
    }
}

3.检测合法字符串


java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int  n=sc.nextInt();
        String  s=sc.next();

        if (n == 0) {
            System.out.println(0);
            return;
        }
        //求最大值,不断更新
        int max=0;
        int cur=0;
        //注意这种检测要关注上一个字符
        char last=' ';
        for(int i=0;i<n;i++){
            char c=s.charAt(i);
                //笑声是字母a和hh交替的序列
                //// 不是a/h,直接中断序列
                if(c!='a'&&c!='h'){
                    cur=0;
                    last=' ';
                    continue;
                }
                //如果是a 或着 h 判断是不是第一个 而且不能重复
                else if(last==' '||c!=last){
                    cur++;
                    last=c;
                    max=Math.max(max,cur);
                }else{
                    //出现了重复
                    cur=1;
                        max=Math.max(cur,max);
                }
        }
        System.out.print(max);

    }
}

4.小红的回文字符串


常规的回文字符串

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        
        boolean isHuiwen = true;
        int left = 0;
        int right = s.length() - 1;
        
        // 暴力双指针比对
        while (left < right) {
            // 只要有一对不一样,就不是回文
            if (s.charAt(left) != s.charAt(right)) {
                isHuiwen = false;
                break;
            }
            left++;
            right--;
        }
        
        System.out.println(isHuiwen ? "YES" : "NO");
    }
}
相关推荐
蹊黎3 小时前
C++中vector类的部分简单实现
开发语言·c++·visual studio
驭渊的小故事3 小时前
MyBatis XML 开发实战:从配置到 CRUD 全解析
xml·java·mybatis
哦虎!8 小时前
【JavaEE】网络初识
java
for_ever_love__8 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
程序猿追9 小时前
kotlin-retry 接入鸿蒙后,怎样确认它真的会停止重试
开发语言·kotlin·harmonyos
我是人✓9 小时前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
智能直播9 小时前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
欣栀♡9 小时前
JVM 频繁 Full GC 先看日志括号里的 cause,jstat 的 FGC 在 JDK 8 上会骗人
java·jvm
IT研究室9 小时前
最新计算机毕业设计选题推荐-基于spring boot的葡萄酒文化宣传网站-网站-文档指导-Java-springboot
java·spring boot·课程设计
慧都小项9 小时前
MyEclipse 中创建和测试 JAX-RS REST 接口:从项目配置到 REST Explorer
java·restful·myeclipse·jax-rs