刷题记录2

news2024/11/15 16:30:38

文章目录

  • 题目一
    • 分析
    • 题解
  • 题目二
    • 分析
    • 题解


题目一

牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.
如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2

输入描述:
输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)

第二行包括n个整数A_i(1 ≤ A_i ≤ 10^9),表示数组A的每个数字。

输出描述:
输出一个整数表示牛牛可以将A最少划分为多少段排序子序列

分析

说实话,文中最核心的话就是递减递增序列.我们划分子序列的标准就是递减递增序列.核心思路如下:
1.判断递减递增序列
2.进行分组
3.输出结果
在这里插入图片描述

题解

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
//长度给n+1防止越界
        int[] array = new int[n + 1];
        for (int i = 0; i < n; i++) {
            array[i] = scan.nextInt();
        }
        int i = 0;
        int count = 0;
        while (i < n) {
				//进入非递减子序列
            if (array[i] < array[i + 1]) {
                while (i < n && array[i] <= array[i + 1]) {
                    i++;
                }
                count++;
                i++;
            } else if (array[i] == array[i + 1]) {
                i++;
            } else {
                while (i < n && array[i] >= array[i + 1]) {
                    i++;
                }
                count++;
                i++;
            }
        }
        System.out.println(count);
    }
}

题目二

描述
将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I
输入描述:
每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100
输出描述:
依次输出倒置之后的字符串,以空格分区分

分析

其实这里你看这道题,我们不难分析出俩个步骤:
1.先倒置整体
2.再倒置单词
用这俩个步骤就解决了.
在这里插入图片描述

题解

代码展示:

import java.util.*;
public class Main {
	//逆置字符串的方法
    public static void reverse(char[] array, int start, int end) {
        while (start < end) {
        
            char tmp = array[start];
            array[start] = array[end];
            array[end] = tmp;
            start++;
            end--;
        }
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String s = scan.nextLine();
        char[] ch = s.toCharArray();
        int len = ch.length;
//1、整体进行了逆置
        reverse(ch, 0, len - 1);
        int i = 0;//遍历ch数组
        //2.进行局部逆置
        while ( i < len ) {
            int j = i;
            //如果等于不等于空格,就继续++
            while (j < len && ch[j] != ' ') {
                j++;
            }
            //走到这里说明找到了空格,开始进入逆置
            if (j < len) {
                reverse(ch, i, j - 1);
                i = j + 1;
            } else {
                reverse(ch, i, j - 1);
                i = j;
            }
        }
        String str = new String(ch);
        System.out.println(str);
    }
}

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

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

相关文章

小林coding——图解系统

文章目录 硬件结构CPU是如何执行程序的&#xff1f;磁盘比内存慢几万倍&#xff1f;如何写出让CPU跑得更快的代码&#xff1f;CPU缓存一致性 操作系统结构Linux内核 VS Winodws内核 内存管理为什么要有虚拟内存&#xff1f;malloc是如何分配内存的&#xff1f;内存满了&#xf…

Python 中 随机数 random库 学习与使用

python中的随机数应用大体包含&#xff0c;随机整数、随机浮点数 和 获取随机数序列三类。 一. 随机整数 1.1 随机整数&#xff0c;包含上下限&#xff08;闭区间&#xff09; randint(a, b)&#xff1a;随机选取 [a, b] 之间的一个整数&#xff0c;随机整数包含a 和 b&#…

mybatis配置参数

一、基础配置 1. 连接数据库 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/cscardata?useUnicodetrue&characterEncodingUTF-8&serverTimezoneGMT%2B8username: rootpassword: roottype: com.alibaba.druid.poo…

公开景区监控——缓解交通拥堵,优化出行体验

阚昊宇 XXXXXXXXXXXXX 1 引言 随着疫情时代过去&#xff0c;旅游需求不断增长&#xff0c;节假日热点景区的人流量持续攀高。在节假日调休机制的共同影响下&#xff0c;旅游景区内人群密度不断增加。5月3日&#xff0c;携程发布的《2023年五一出游数据报告》显示&#xff0c;…

15天学习MySQL计划-主从复制(运维篇)第十三天

15天学习MySQL计划-主从复制&#xff08;运维篇&#xff09;第十三天 主从复制 1.概述 ​ 主从复制是指主数据库的DDL和DML操作通过二进制日志传到从库服务器中&#xff0c;然后在从库上对这些日志重新执行&#xff08;也叫做重做&#xff09;&#xff0c;从而使得从库和主库…

计算机操作系统实验:银行家算法模拟

目录 前言实验目的实验内容实验原理实验过程代码如下代码详解算法过程运行结果 总结 前言 本文是计算机操作系统实验的一部分&#xff0c;主要介绍了银行家算法的原理和实现。银行家算法是一种用于解决多个进程对多种资源的竞争和分配的算法&#xff0c;它可以避免死锁和资源浪…

写作业用白光还是暖光?盘点色温4000K的护眼台灯

台灯的白光或者暖光指的是台灯的色温&#xff0c;低色温的光线看起来发黄发红&#xff0c;高色温的光线发白发蓝。 如果灯光的光源是高品质光源&#xff0c;本身没有蓝光问题&#xff0c;那么色温的选择对护眼的影响是比较少的&#xff0c;更多的是对人学习工作状态&#xff0c…

TIM-编码器—STM32

TIM-编码器—STM32 EncoderInterface 编码器接口 编码器接口可接收增量(正交) 编码器的信号&#xff0c;根据编码器旋转产生的正交信号脉冲&#xff0c;自动控制CNT自增或自减&#xff0c;从而指示编码器的位置、旋转方向和旋转速度 每个高级定时器和通用定时器都拥有1个编码器…

transformer在计算机视觉中的应用

Transformer 在计算机视觉中的应用 论文地址&#xff1a; https://arxiv.org/abs/1706.03762 Vision Transformer An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 代码地址&#xff1a; https://github.com/google-research/vision_transfor…

总结840

学习目标&#xff1a; 5月&#xff08;完成张宇强化18讲&#xff0c;背诵25篇短文&#xff0c;熟词僻义300词基础词&#xff09; 每日必复习&#xff08;5分钟&#xff09; 看了进步本中的一道数列题 学习内容&#xff1a; 暴力英语&#xff1a;继续艾玛沃特森的演讲&#…

Winsw实现springboot的jar包的windows服务,实现开机自启动

在windows上运行Springboot打包jar&#xff0c;如何后台运行及注册成Windows服务&#xff1f; 一、确认.NET Framework版本 1、在地址栏上输入“C:\Windows\Microsoft.NET\Framework”&#xff0c;按回车键 2、可以看到.NET Framework版本。可以看到最高版本为4.0 二、winsw &…

node 开发

文章目录 快速认识node开始使用node编程hello world模块和包什么是模块创建和加载模块创建包node.js 的包管理本地模式 和全局模式创建全局连接包的发布 调试 快速认识node 开始使用node编程 hello world 打开你的文本编辑器&#xff0c;在上面输入&#xff1a; console。l…

【Java EE】-使用Fiddler抓包以及HTTP的报文格式

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享: 在满园弥漫的沉静的光芒之前&#xff0c;一个人更容易看到时间&#xff0c;并看到自己的身影。——史铁生《我与地坛》 主要内容&#xff1a;使用FIddler抓包的…

船舶建造概论(船舶建造工艺任务与现代造船模式)

船舶建造概论 1 船舶建造概论1.1 船舶建造工艺主要任务1.2 船舶建造流程&#xff08;1&#xff09;钢材料预处理&#xff08;2&#xff09; 钢材料加工&#xff08;3&#xff09;分段制作&#xff08;4&#xff09;总段制作&#xff08;5&#xff09;船台合拢&#xff08;6&…

【漏洞复现】Apache Superset 未授权访问漏洞(CVE-2023-27524)

文章目录 前言声明一、Apache Superset 简介二、影响范围三、漏洞复现四、整改建议 前言 Apache Superset 存在未授权访问漏洞&#xff0c;攻击者可利用该漏洞验证和访问未经授权的资源。 声明 本篇文章仅用于漏洞复现与技术研究&#xff0c;请勿利用文章内的相关技术从事非法…

2.计算机基础

文章目录 1.冯诺依曼体系结构&#xff08;1&#xff09;冯诺依曼体系结构思想&#xff08;2&#xff09;五大部件介绍&#xff08;3&#xff09;现代计算机逻辑架构 2.现代计算机硬件图 和 CPU&#xff08;1&#xff09;现代计算机硬件图&#xff08;2&#xff09;CPU运算器结构…

微软正式宣布 Win10 死刑,Win11 LTSC要来了

微软在 2015 年带来了 Windows 10&#xff0c;PC 操作系统也由此进入到一个新的篇章。 如此前每代新系统一样&#xff0c;Windows 10 发布之初&#xff0c;稳定性不足&#xff0c;BUG 众多。 全新的界面设计、交互逻辑以及操作习惯上的强行改变让其很长一段时间都不那么受待见。…

static的常见用法

参考链接&#xff1a;https://blog.csdn.net/guotianqing/article/details/79828100 C语言 作用&#xff1a;提高代码的模块化&#xff0c;提高代码的可读性。 普通的局部变量&#xff1a;在最开始的时候不会进行初始化&#xff0c;存储在栈空间&#xff0c;使用完毕就会释放…

100ASK_全志V853-PRO开发板 环境配置及编译烧写

0.前言 本章主要介绍关于100ASK-V853-PRO开发板的Tina SDK包的下载和编译打包生成镜像&#xff0c;并将镜像烧录到100ASK-V853-PRO开发板上。在进行100ASK-V853-PRO开发板的环境配置前需要获取配置虚拟机系统&#xff0c;可以参考&#xff1a;https://dongshanpi.com/Dongshan…

「蓝桥杯」扫地机器人

扫地机器人 题目描述 小明公司的办公区有一条长长的走廊&#xff0c;由 N 个方格区域组成&#xff0c;如下图所示。 走廊内部署了 K 台扫地机器人&#xff0c;其中第 i 台在第 A_i 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中&#xff0c;并将该区域清扫干…