蓝桥杯练习题(九)

📑前言

本文主要是【算法】——蓝桥杯练习题(九)的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1142.百亿富翁
    • 1207.MAX最值差
    • 2219.左移右移
    • 📑文章末尾

1142.百亿富翁

package 蓝桥杯第九次;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Deque;public class 百亿富翁 {
/*
5
3 1 2 5 4*/public static void main(String[] args) throws IOException {// TODO Auto-generated method stubStreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));sc.nextToken();int n = (int)sc.nval;long a[] = new long[n+1];for(int i=1;i<=n;i++) {sc.nextToken();a[i]=(long)sc.nval;}int num1[] = new int[n+1];int num2[] = new int[n+1];Arrays.fill(num1, -1);Arrays.fill(num2, -1);Deque<Integer> q = new ArrayDeque<>();//按顺序遍历for(int i=1;i<=n;i++) {while(!q.isEmpty()&&a[q.peekLast()]<a[i]) q.pollLast();if(!q.isEmpty()) {num1[i]=q.peekLast();}q.add(i);}q.clear();//倒过来遍历就是右边第一栋比自己高for(int i=n;i>=1;i--) {while(!q.isEmpty()&&a[q.peekLast()]<a[i]) q.pollLast();if(!q.isEmpty()) {num2[i]=q.peekLast();}q.add(i);}for(int i=1;i<=n;i++) {System.out.print(num1[i]+" ");}System.out.println();for(int i=1;i<=n;i++) {System.out.print(num2[i]+" ");}}}

1207.MAX最值差

package 蓝桥杯第九次;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.ArrayDeque;
import java.util.Deque;public class MAX最值差 {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubStreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));sc.nextToken();int n = (int)sc.nval;sc.nextToken();int k= (int)sc.nval;int a[] = new int[n+1];for(int i=1;i<=n;i++) {sc.nextToken();a[i] = (int)sc.nval;}Deque<Integer> q = new ArrayDeque<>();int num1[] = new int[n+1];int num2[] = new int[n+1];for(int i=1;i<=n;i++) {while(!q.isEmpty()&&i-k>=q.peekFirst()) q.pollFirst();while(!q.isEmpty()&&a[i]<a[q.peekLast()]) q.pollLast();q.addLast(i);num1[i]=q.peekFirst();}q.clear();for(int i=1;i<=n;i++) {while(!q.isEmpty()&&i-k>=q.peekFirst()) q.pollFirst();while(!q.isEmpty()&&a[i]>a[q.peekLast()]) q.pollLast();q.addLast(i);num2[i]=q.peekFirst();}int max = Integer.MIN_VALUE;for(int i=1;i<=n;i++) {max = Math.max(a[num2[i]]-a[num1[i]], max);}System.out.println(max);}
/*
6 3 
4 6 5 2 3 1*/
}

2219.左移右移

package 蓝桥杯第九次;import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class 左移右移2 {static class Node{int val;;Node pre;Node next;public Node(int val,Node pre,Node next) {this.val = val;this.pre = pre;this.next = next;}}public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();Map<Integer, Node> map = new HashMap<>();Node head = new Node(-1, null, null);Node tail = new Node(-1, null, null);Node pre = head;for(int i=1;i<=n;i++) {pre.next = new Node(i, pre, null);pre = pre.next;map.put(i, pre);}pre.next = tail;tail.pre = pre;while(m-->0) {char c = sc.next().charAt(0);int k = sc.nextInt();Node node = map.get(k);node.next.pre = node.pre;node.pre.next = node.next;if(c=='L') {head.next.pre = node;node.next = head.next;head.next = node;node.pre = head;}else {node.pre = tail.pre;tail.pre.next = node;node.next = tail;tail.pre = node;}}Node cur = head.next;while(cur!=tail) {System.out.print(cur.val+" ");cur = cur.next;}}}

📑文章末尾

在这里插入图片描述

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

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

相关文章

抖店需要怎么开通?抖店入驻全流程,一看就会!

我是电商珠珠 抖店的热度很高&#xff0c;所以有很多新手想要入驻。 但是对于入驻的流程&#xff0c;部分新手还不太了解&#xff0c;今天我就来给大家详细的讲一下。 入驻准备 在入驻之前需要准备一张个体的营业执照&#xff0c;再准备好个人的身份证、银行卡、抖音号。 …

Tomcat解压打包文件和并部署

一、文件压缩和上传解压 1.本地打包好dist.tar.gz文件 2.通过xftp拖拽上传到知道文件夹下,或者通过命令: cp dist.tar.gz /path/to/destination/folder注:将dist.tar.gz复制到 /path/to/destination/folder文件夹下,该文件夹只是举个例子怎么复制和解压! 3.进入/path/…

使用Python批量上传本地maven库到nexus

背景&#xff1a;外包类项目开发时是调用的公司maven仓库进行开发&#xff0c;交付后需要将maven仓库转移到客户环境。 原理&#xff1a;1、打开idea运行源代码&#xff0c;将maven包下载到本地仓库&#xff0c; 2、下载包所在目录中执行脚本将本地仓库的maven包上传到客户nex…

UE5 C++的TCP客户端示例

客户端.h 需要在Build.cs中加入模块:"Networking","Sockets","Json","JsonUtilities" // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include…

LeetCode第380场周赛个人题解

目录 100162.最大频率元素计数 原题链接 思路分析 AC代码 100165.找出数组中的美丽下标I 原题链接 思路分析 AC代码 100160. 价值和小于等于 K 的最大数字 原题链接 思路分析 位运算二分 AC代码 100207.找出数组中的美丽下标II 原题链接 思路分析 AC代码 10016…

51-13 多模态论文串讲—BEiT v3 论文精读

BEiT-3的核心思想是将图像建模为一种语言&#xff0c;这样我们就可以对图像、文本以及图像-文本对进行统一的mask modeling。Multi-way transformer模型可以有效地完成不同的视觉和视觉语言任务&#xff0c;使其成为通用建模的一个有效选择。 同时&#xff0c;本文也对多模态大…

K8s-Pod资源(一)Pod介绍、创建Pod、Pod简单资源配额

Pod概述 Kubernetes Pod | Kubernetes Pod是Kubernetes中的最小调度单元&#xff0c;k8s都是以pod的方式运行服务的 一个pod可以指定镜像&#xff0c;封装一个或多个容器 pod需要调度到工作节点运行&#xff0c;节点的选择由scheduler调度器实现 pod定义时&#xff0c;会…

Android Studio 如何设置中文

Android Studio 是一个为 Adndroid 平台开发程序的集成开发环境&#xff08;IDE&#xff09;。 如何安装中文插件 在 Jetbrains 家族的插件市场上&#xff0c;是能够搜到语言包插件的&#xff0c;正常情况下安装之后只需要重启即可享受中文界面&#xff0c;可AndroidStudio 中…

Python 列表、元组、字典区别

1.列表、元组和字典都是序列 2.列表字典可以修改和删除序列中的某个元素&#xff0c;而元组就是一个整体&#xff0c;不能修改和删除&#xff0c;一定要修改或删除的话&#xff0c;只能修改和删除整个元组。 3.既然元组不能删除和修改&#xff0c;有什么作用呢&#xff1f; 1…

视频剪辑软件Camtasia2024最新版本快捷键大全

Camtasia Studio是一款专门录制屏幕动作的工具&#xff0c;它能在任何颜色模式下轻松地记录 屏幕动作&#xff0c;包括影像、音效、鼠标移动轨迹、解说声音等等。 今天来给大家介绍一下Camtasia快捷键的相关内容&#xff0c;Camtasia也是一个十分好用的电脑屏幕录制与视频剪辑…

Linux系统——远程访问及控制

目录 一、OpenSSH服务器 1.SSH&#xff08;Secure Shell&#xff09;协议 2.OpenSSH 2.SSH原理 2.1公钥传输原理 2.2加密原理 &#xff08;1&#xff09;对称加密 &#xff08;2&#xff09;非对称加密 2.3远程登录 2.3.1延伸 2.3.2登录用户 3.SSH格式及选项 3.1延…

Pod调度

在默认情况下&#xff0c;一个Pod在哪个Node节点上运行&#xff0c;是由Scheduler组件采用相应的算法计算出来的&#xff0c;这个过程是不受人工控制的。但是在实际使用中&#xff0c;这并不满足的需求&#xff0c;因为很多情况下&#xff0c;我们想控制某些Pod到达某些节点上&…

跟我学c++高级篇——基础类型和POD结构体反射

一、基础类型反射 在前面以枚举体和函数进行了反射的实践&#xff0c;在其中也提到过&#xff0c;其实更应该进行反射的是类&#xff08;结构体&#xff09;。毕竟现在以面向对象编程基本已经普及&#xff0c;类&#xff08;结构体&#xff09;的应用几乎已经是无法避免的。所…

高斯Hack算法

背景 刷leetcode时&#xff0c;碰到一题需要求解n个bit中选择m个bit的所有组合集&#xff0c;我只想到了递归求解&#xff0c;没啥问题&#xff0c;但是在官方题解中看到了牛逼的方法(Gospers Hack)&#xff0c;故记录一下。 4bit中2个1的情况 0011b0101b0110b1001b1010b1100b…

基于协同过滤的零食推荐系统

介绍 协同过滤算法&#xff1a;协同过滤是推荐系统中比较常用的算法之一&#xff0c;其核心思想是寻找用户之间的相似性&#xff0c;通过发现用户之间的共性&#xff0c;向用户推荐可能喜欢的商品或服务。Python Django Vue&#xff1a;Django 是一个基于 Python 的 Web 开发框…

模型的权值平均的原理和Pytorch的实现

一、前言 模型权值平均是一种用于改善深度神经网络泛化性能的技术。通过对训练过程中不同时间步的模型权值进行平均&#xff0c;可以得到更宽的极值点&#xff08;optima&#xff09;并提高模型的泛化能力。 在PyTorch中&#xff0c;官方提供了实现模型权值平均的方法。 这里…

遥感类SCI期刊_一区二区汇总

IEEE Geoscience And Remote Sensing Magazine(Ieee地球科学与遥感杂志) h-index:19 CiteScore:17.80 1区 IEEE Geoscience and Remote Sensing Magazine | IEEE Xplore Remote Sensing Of Environment(环境遥感) h-index:238 CiteScore:24.80 1区 https://www.scienced…

深度学习15—(迁移学习)冻结和解冻神经网络模型的参数

冻结与解冻代码&#xff1a; def freeze_net(net):if not net:returnfor p in net.parameters():p.requires_grad Falsedef unfreeze_net(net):if not net:returnfor p in net.parameters():p.requires_grad True 这段代码定义了两个函数&#xff1a;freeze_net 和 unfree…

webview全屏处理,即插即用

去年双十一有个直播的需求&#xff0c;听起来很简单&#xff0c;技术也都很成熟&#xff0c;但是真的开始实现后&#xff0c;还是有不少坑的&#xff0c;首先第一个uc内核不支持webRTC协议&#xff0c;需要重新开发chrome内核的webview&#xff0c;其次webview全屏处理、悬浮窗…

PYTHON通过跳板机巡检CENTOS的简单实现

实现的细节和引用的文件和以前博客记录的基本一致 https://shaka.blog.csdn.net/article/details/106927633 差别在于,这次是通过跳板机登陆获取的主机信息,只记录差异的部份 1.需要在跳板机相应的路径放置PYTHON的脚本resc.py resc.py这个脚本中有引用的文件(pm.sh,diskpn…