牛客 题解

server/2024/10/18 16:49:32/

文章目录

  • 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

思路:模拟
代码:
java">    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]

代码:
java">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之后仍是偶数,再次进队。

代码:
java">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.ppmy.cn/server/14152.html

相关文章

指针(5)

前言 本节是有关指针内容的最后一节&#xff0c;本节的内容以讲解指针习题为主&#xff0c;那么就让我们一起来开启本节的学习吧&#xff01; sizeof和strlen的对比 1.sizeof 我们在学习操作符的时候&#xff0c;学习了sizeof。sizeof存在的意义是用来计算变量所占用的内存空…

(救命)Kali Linux或者其他linux系统的触控板右键按下没反应,失效的解决办法

我每次安装kali的时候都会选择gnome桌面&#xff0c;每次安装好右键都是禁用的&#xff0c;按下和左键效果一样&#xff0c;每次都得去调鼠标右键&#xff0c;原来就不好找到那个选项&#xff0c;这次踏马居然连那个选项都没了&#xff0c;如果你去网上找教程你会发现网上根本没…

神经网络与深度学习(四)

目录 一、循环神经网络1.1 门控循环单元(GRU)1.2 长短期记忆网络(LSTM)1.3 深度循环神经网络1.4 双向循环神经网络 二、NLP2.1 序列模型2.2 数据预处理2.3 文本预处理2.4 文本嵌入 三、RNN模型3.1 RNN概要3.2 RNN模型3.3 RNN示例 一、循环神经网络 循环神经网络&#xff08;RN…

猎聘爬虫(附源码)

废话不多说直接附源码 cookies需要替换成自己的 , 该网站在不登录的情况下只能请求到10页数据 , 想要获得完整数据需要携带登录后的cookies import requests import json from lxml import etree import os import openpyxlheaders {"Accept": "application/…

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

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

RK3588S和ARM阵列服务器在虚拟化云平台的应用

RK3588是瑞芯微2021年底推出的首款高端8nm旗舰芯片&#xff0c;而RK3588S 则是针对消费端市场在RK3588基础上缩减了部分外围接口&#xff0c;CPU、GPU和NPU等主要参数得到了保留&#xff0c;主要应用范围为高端ARM平板、ARM笔电产品&#xff0c;会议平板类、ARM服务器、智能机器…

ASP.NET教务平台—学籍管理模块开发与设计

摘 要 教务平台之学籍管理模块是一个典型的教务信息管理系统(MIS)&#xff0c;其开发主要包括后台数据库的建立和前端应用程序的开发两个方面。对于后台数据库要求实现数据的完整性、一致性和安全性&#xff1b;对于前台应用程序开发则要求模块功能完备、界面友好、易使用等特…

CSS渐变色理论与分类、文字渐变色方案、炸裂渐变色方案以及主流专业渐变色工具网站推荐

渐变色彩可以增加视觉层次感和动态效果&#xff0c;使网页界面更加生动有趣&#xff0c;吸引用户注意力。另外&#xff0c;相较于静态背景图片&#xff0c;CSS渐变无需额外的HTTP请求&#xff0c;减轻服务器负载&#xff0c;加快页面加载速度&#xff1b;同时CSS渐变能够根据容…