牛客 题解

文章目录

  • day4_17
      • **BC149** **简写单词**
          • 思路:模拟
          • 代码:
      • dd爱框框
          • 思路:滑动窗口(同向双指针)
          • 代码:
      • 除2!
          • 思路:模拟+贪心+堆
          • 代码:


day4_17

BC149 简写单词

https://www.nowcoder.com/practice/0cfa856bf0d649b88f6260d878f35bb4?tpId=290&tqId=39937&ru=/exam/oj

https://www.nowcoder.com/practice/0cfa856bf0d649b88f6260d878f35bb4?tpId=290&tqId=39937&ru=/exam/o
j

思路:模拟
代码:
    public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){char c = in.next().charAt(0);if(c>='a'&&c<='z'){System.out.print((char)(c-32));}else{System.out.print(c);}}}

dd爱框框

https://ac.nowcoder.com/acm/contest/11211/F

在这里插入图片描述

思路:滑动窗口(同向双指针)

1.从1开始计数的

2.区间内的数字必须严格大于0,因为如果区间中存在小于0的数,left在滑动的时候,可能会增大,会倒逼right回退。只有严格大于0的数,随着left滑动,区间之和才会减小。right就会向后移动。

  • 进窗口:sum += arr[right]

  • 判断条件:sum >=x

  • 更新结果:right-left+1 < retlen retleft = left, retright = right

  • 出窗口:sum-= arr[left]

代码:
import java.util.*;
import java.io.*;
public class Main{public static void main(String[] args )throws IOException{Read in = new Read();int n = in.nextInt(),x = in.nextInt();int[]arr = new int[n+1];for(int i = 1; i<=n ; i++){arr[i] = in.nextInt();}int left = 1,right = 1,sum = 0;int retleft = -1,retright = -1,retlen = n;while(right<=n){//进窗口sum += arr[right];while(sum>=x){//更新结果if(right-left+1 < retlen){retleft = left;retright = right;retlen = right-left+1;}sum -= arr[left++];//出窗口}right++;}System.out.println(retleft+" "+retright);  }
}
class Read{StringTokenizer st = new StringTokenizer("");BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String next()throws IOException{while(!st.hasMoreTokens()){st = new StringTokenizer(bf.readLine());}return st.nextToken();}String nextLine()throws IOException{return bf.readLine();}int nextInt()throws IOException{return Integer.parseInt(next());}long nextLong()throws IOException{return Long.parseLong(next());}double nextDouble()throws IOException{return Double.parseDouble(next());}
}

除2!

https://ac.nowcoder.com/acm/contest/8563/A

在这里插入图片描述

思路:模拟+贪心+堆

1.优先级队列确保出队的都是最大值

2.如果出队/2之后仍是偶数,再次进队。

代码:
import java.util.*;
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);int n = in.nextInt();int k = in.nextInt();PriorityQueue<Integer> heap = new PriorityQueue<>((a,b)->{return b-a;});long sum = 0,x;for(int i = 0; i<n; i++){x = in.nextLong();sum += x;if(x%2 == 0){heap.add((int)x);}}while(k-- != 0 && !heap.isEmpty()){long t = heap.poll() / 2;sum -= t;if(t%2 == 0){heap.add((int)t);}}System.out.println(sum);}
}

点击移步博客主页,欢迎光临~

偷cyk的图

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

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

相关文章

如何在 Ubuntu 14.04 上配置 StatsD 以收集 Graphite 的任意统计数据

介绍 Graphite 是一个图形库&#xff0c;允许您以灵活和强大的方式可视化不同类型的数据。它通过其他统计收集应用程序发送给它的数据进行图形化。 在之前的指南中&#xff0c;我们讨论了如何安装和配置 Graphite 本身&#xff0c;以及如何安装和配置 collectd 以编译系统和服…

【MATLAB源码-第197期】基于matlab的粒子群算法(PSO)结合人工蜂群算法(ABC)无人机联合卡车配送仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 基于粒子群优化&#xff08;PSO&#xff09;算法的无人机联合卡车配送系统是一个高效的物流配送策略&#xff0c;旨在优化配送过程中的成本、时间和资源利用率。该系统融合了无人机和卡车的配送能力&#xff0c;通过智能算法…

mermaid 之 (Flowchart) 流程图

(Flowchart) 流程图是一种在Mermaid中常用的图形&#xff0c;用于描述一系列步骤和决策。以下是Mermaid中创建流程图的详细语法介绍&#xff1a; 前言 官网文档 基础语法 图的方向 graph TD&#xff1a;从上到下 (Top Down)graph LR&#xff1a;从左到右 (Left to Right)g…

Java23种设计模式-创建型模式之抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式&#xff0c;它用于创建相关或相互依赖对象的一组&#xff0c;而无需指定其具体的类。这种模式特别适用于产品族的情况&#xff0c;即一组相互关联的产品对象。 存在四种角色&#xff1a; 角色1&#xff1a;抽象工…

Tiny11作者开源:利用微软官方镜像制作独属于你的Tiny11镜像

微软对Windows 11的最低硬件要求包括至少4GB的内存、双核处理器和64GB的SSD存储。然而&#xff0c;这些基本要求仅仅能保证用户启动和运行系统&#xff0c;而非流畅使用 为了提升体验&#xff0c;不少用户选择通过精简系统来减轻硬件负担&#xff0c;我们熟知的Tiny11便是其中…

【简单介绍下机器学习之sklearn基础】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

【机器学习】深度神经网络(DNN):原理、应用与代码实践

深度神经网络&#xff08;DNN&#xff09;&#xff1a;原理、应用与代码实践 一、深度神经网络&#xff08;DNN&#xff09;的基本原理二、DNN的优缺点分析三、DNN的代码实践四、总结与展望 在人工智能与机器学习的浪潮中&#xff0c;深度神经网络&#xff08;Deep Neural Netw…

演示在一台Windows主机上运行两个Mysql服务器(端口号3306 和 3307),安装步骤详解

目录 在一台Windows主机上运行两个Mysql服务器&#xff0c;安装步骤详解因为演示需要两个 MySQL 服务器终端&#xff0c;我只有一个 3306 端口号的 MySQL 服务器&#xff0c;所以需要再创建一个 3307 的。创建一个3307端口号的MySQL服务器1、复制 mysql 的安装目录2、修改my.in…

安全开发实战(4)--whois与子域名爆破

目录 安全开发专栏 前言 whois查询 子域名 子域名爆破 1.4 whois查询 方式1: 方式2: 1.5 子域名查询 方式1:子域名爆破 1.5.1 One 1.5.2 Two 方式2:其他方式 总结 安全开发专栏 安全开发实战​​http://t.csdnimg.cn/25N7H 前言 whois查询 Whois 查询是一种用…

MCU功耗测量

功耗测量 一、相关概念二、功耗的需求三、测量仪器仪表测量连接SMU功能SMU性能指标 四、功耗测量注意点板子部分存在功耗MCU方面&#xff0c;可能存在干扰项仪器仪表方面 一、相关概念 静态功耗和动态功耗&#xff1a;动态功耗为运行功耗&#xff0c;功耗测量注重每MHz下的功耗…

DevOps文化对团队有何影响?

DevOps文化对团队有很多积极影响&#xff0c;包括提高团队效率、促进沟通与协作、提高产品质量和推动创新等方面。然而&#xff0c;实施DevOps文化也需要一定的挑战&#xff0c;如改变团队成员的观念、引入新的工具和流程等。因此&#xff0c;团队需要充分了解DevOps文化的价值…

【深度学习】图像修复的一些模型

Mask-Aware Transformer 大空洞修复。 1、图像修复 Introduction 定义 图像修复&#xff08;Image inpainting、Image completion、image hole-filling&#xff09;指的是合成图像中缺失区域的过程&#xff0c;可以帮助恢复被遮挡或降质的部分。 在下图中&#xff0c;左图是…

【重磅开源】MapleBoot项目开发规范

基于SpringBootVue3开发的轻量级快速开发脚手架 &#x1f341;项目简介 一个通用的前、后端项目模板 一个快速开发管理系统的项目 一个可以生成SpringBootVue代码的项目 一个持续迭代的开源项目 一个程序员的心血合集 度过严寒&#xff0c;终有春日&#xff…

身份证实名认证接口的三种方式、C#实名认证接口

第一种是身份证号实名认证&#xff0c;主要针对证件的二要素信息进行核验&#xff0c;判断姓名和身份证号是否一致&#xff1b;第二种是身份证实名认证&#xff0c;在身份证号实名认证的基础上&#xff0c;增加了身份证头像真伪查验的功能&#xff1b;第三种是身份实名认证&…

macOS - 处理系统更新红点

文章目录 AttentionPrefBundleIDs 是一个字典 <key>AttentionPrefBundleIDs</key><dict><key>com.apple.preferences.softwareupdate</key><integer>1</integer></dict>首先在系统偏好设置中将软件更新中“自动保持我的Mac运行…

计算机网络-IS-IS基础配置实验

前面我们了解了IS-IS的一些基础理论&#xff0c;从建立邻接、链路状态数据库同步以及路由计算&#xff0c;现在开始学习下配置操作。 一、IS-IS配置 网络拓扑图&#xff1a; 拓扑图 IS-IS有Level级别的区分&#xff0c;Level-1可以是性能较低的设备只维护区域内的LSDB&#xff…

设置Mac上Git的多账户配置,用于同时访问GitLab和Gitee

在 Mac 上配置 Git 多账户&#xff08;比如 GitLab 和 Gitee&#xff09;的步骤如下&#xff1a; 1. 生成 SSH 密钥 首先&#xff0c;你需要为每个 Git 服务生成一个 SSH 密钥。在终端中运行以下命令&#xff0c;然后按照提示操作&#xff1a; ssh-keygen -t rsa -C "y…

vue - 路由守卫

Vue路由守卫是一种机制&#xff0c;用于在导航过程中对路由进行监控和控制。Vue Router提供了三种类型的路由守卫&#xff1a; 1. 全局前置守卫&#xff1a;router.beforeEach 2. 全局解析守卫&#xff1a;router.beforeResolve 3. 全局后置守卫&#xff1a;router.afterEac…

远程仓库.github/workflow的 yml如何配置

git 远程仓库.github/workflow的 yml如何配置 关于远程仓库 GitHub 的协作开发方法取决于将本地存储库中的提交发布到 GitHub 以便其他人查看、获取和更新。 远程 URL 是 Git 表达“代码存储位置”的奇特方式。该 URL 可以是您在 GitHub 上的存储库&#xff0c;也可以是其他用…

深入探索CSS3多列布局:重构文本流与网页排版的艺术

在网页设计领域&#xff0c;CSS3的多列布局&#xff08;Multicolumn Layout&#xff09;是一项革命性的改进&#xff0c;它赋予了设计师们创作类似报纸或杂志般的多栏布局的能力。本文将全面解析CSS3中与多列布局相关的属性&#xff0c;深入探讨其工作原理&#xff0c;并结合实…