每日小练:Day2

news/2024/12/14 12:25:28/

1.乒乓球筐

题目链接:乒乓球筐__牛客网

题目描述:

这道题主要考察B盒是不是A盒的子集,我们可以通过哈希表来做

单哈希表

java">import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){char[] s1=in.next().toCharArray();char[] s2=in.next().toCharArray();int[] hash=new int[26];boolean ret=true;for(int i=0;i<s1.length;i++){hash[s1[i]-'A']++;}for(int i=0;i<s2.length;i++){if(--hash[s2[i]-'A']<0){ret=false;break;}}if(ret==true){System.out.println("Yes");}else{System.out.println("No");}}}
}

 双哈希表

java">import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {char[] s1=in.next().toCharArray();char[] s2=in.next().toCharArray();int[] hash1 = new int[26];int[] hash2 = new int[26];boolean ret = true;for (int i = 0; i < s1.length; i++) {hash1[s1[i]-'A']++;}for (int i = 0; i < s2.length; i++) {hash2[s2[i]-'A']++;}for (int i = 0; i < 26; i++) {if (hash1[i] != hash2[i]) {ret = false;break;}}// 输出结果System.out.println(ret ? "Yes" : "No");}in.close(); // 关闭输入流}
}

2.组队竞赛

题目链接:组队竞赛_牛客网

java">import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n=in.nextInt();int[] arr=new int[n*3];for(int i=0;i<n*3;i++){arr[i]=in.nextInt();} //先将数组排序Arrays.sort(arr);int count =1;//每次隔着两个数取一次,第一次取得是倒数第二个数,下标是n*3-2int pos=n*3-2;long ret=0;//求每次取出的数的和while(count++<=n){ret+=arr[pos];pos-=2;}System.out.println(ret);}}

3.删除相邻数字的最大分数(⭐)

题目链接:删除相邻数字的最大分数_牛客题霸_牛客网

题目描述:

注:使用动态规划

java">import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {static int N=(int)1e4 + 10;static int[] sum=new int[N];static int[] f=new int[N];static int[] g=new int[N];public static void main(String[] args) {Scanner in = new Scanner(System.in);int n=in.nextInt();int x=0;for(int i=0;i<n;i++){x=in.nextInt();sum[x]+=x;}for(int i=1;i<N;i++){f[i]=g[i-1]+sum[i];g[i]=Math.max(g[i-1],f[i-1]);}System.out.println(Math.max(f[N-1],g[N-1]));}
}

 

希望能对大家有所帮助!!!!


http://www.ppmy.cn/news/1546769.html

相关文章

Oracle 数据库创建导入

注意&#xff1a;本教程中的有些命令您可能并不熟悉&#xff0c;但没关系&#xff0c;只需按照说明一步一步创建示例数据库即可。在之后的教程中&#xff0c;会详细介绍每个命令。 1.创建新用户并授予权限 1.1.打开 首先&#xff0c;启动 SQL plus 程序的命令行&#xff1a;…

Java 实现自定义 LRU 缓存

一、引言 在现代软件系统中&#xff0c;缓存是提高性能的重要手段之一。LRU 缓存作为一种常用的缓存策略&#xff0c;能够根据数据的使用频率自动淘汰最近最少使用的数据&#xff0c;从而保持缓存的高效性。在 Java 中&#xff0c;虽然有一些现成的缓存框架可供使用&#xff0c…

PyQt5 加载UI界面与资源文件

步骤一: 使用 Qt Designer 创建 XXX.ui文件 步骤二: 使用 Qt Designer 创建 资源文件 步骤三: Python文件中创建相关类, 使用 uic.loadUi(mainwidget.ui, self ) 加载UI文件 import sys from PyQt5 import QtCore, QtWidgets, uic from PyQt5.QtCore import Qt f…

Git的使用(基础语句)

首先如果想要使用git的各项功能&#xff0c;我们要下载Git-2.40.1-64-bit.exe这个驱动程序&#xff0c;并安装它&#xff0c;这个资源我没有办法上传是因为有的博主已经上传过了&#xff0c;所以有VIP的或者有钱哥可以去csdn上自行下载&#xff0c;实在不行加我qq我发你4925396…

[HAOI2015] 树上染色(树形 DP)

题目传送门https://www.luogu.com.cn/problem/P3177 解题思路 设 表示以 为根的子树染 个黑点的最大收益值。 设一共有 个节点&#xff0c;要染 个点。 完成 DP 状态的设计后&#xff0c;开始推导转移方程…… 对于一个点 &#xff0c;它下面有一条通向 &#xff0c;权…

GitLab基于Drone搭建持续集成(CI/CD)

本文介绍了如何为 Gitee 安装 Drone 服务器。服务器打包为在 DockerHub 上分发的最小 Docker 映像。 1. 准备工作 创建OAuth应用 创建 GitLab OAuth 应用。Consumer Key 和 Consumer Secret 用于授权访问极狐GitLab 资源。 ps:授权回调 URL 必须与以下格式和路径匹配&…

golang 实现比特币内核:从公钥创建wallet地址

作为比特币用户,我们总是需要发送或接收比特币,这就需要让别人知道你的钱包地址。由于钱包地址需要人类读取,之前我们使用的编码方案产生的是二进制结果,因此我们需要一种新的方案,以人类友好的方式创建钱包地址。 钱包地址实际上是从公钥生成的,并且需要满足以下要求:…

stable-diffusion-3 ,每天免费试用

https://huggingface.co/spaces/stabilityai/stable-diffusion-3-mediumhttps://huggingface.co/spaces/stabilityai/stable-diffusion-3-medium官方space&#xff0c;童叟无欺&#xff0c;科学试用。 an image of a girl with white hair, in the style of ross tran, light …