蓝桥杯练习题(三)

📑前言

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

🎬作者简介:大家好,我是听风与他🥇

☁️博客首页:CSDN主页听风与他

🌄每日一句:狠狠沉淀,顶峰相见

目录

1331.二进制中1的个数

java 复制代码
package 蓝桥杯第三次;

import java.util.Scanner;

public class 二进制中1的个数1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long ans = 0;
		String s = Integer.toBinaryString(n);
		for(int i=0;i<s.length();i++) {
			if(s.charAt(i)=='1') {
				ans++;
			}
		}
		System.out.println(ans);
	}

}

321.分发饼干

java 复制代码
package 蓝桥杯第三次;

import java.util.Arrays;
import java.util.Scanner;

public class 分发饼干 {
	
/*
3 2
1 2 3
1 1
1
 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		int n = sc.nextInt();
		int num1[] = new int[m];
		int num2[] = new int[n];
		for(int i=0;i<m;i++) {
			num1[i] = sc.nextInt();
		}
		for(int i=0;i<n;i++) {
			num2[i] = sc.nextInt();
		}
		Arrays.sort(num1);
		Arrays.sort(num2);
		long ans=0;
		int i=0,j=0;
		while (true) {
			if(i<m&&j<n&&num1[i]<=num2[j]) {
				i++;
				j++;
				ans++;
			}else {
				j++;
			}
			if(i==m||j==n) {
				break;
			}
		}
		System.out.println(ans);
	}

}

312.确定一个数是否为2的幂

java 复制代码
package 蓝桥杯第三次;

import java.util.Scanner;

public class 确定一个数字是否是2的幂 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		System.out.println(((n&(n-1))==0)?"YES":"NO");
	}

}

203.确定字符串是否是另一个的排列

java 复制代码
package 蓝桥杯第三次;

import java.util.Arrays;
import java.util.Scanner;

public class 确定字符串是否是另一个的排列 {
/*
acb
bac
YES
 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		String str1 = sc.next();
		String str2 = sc.next();
		char a[] = str1.toCharArray();
		char b[] = str2.toCharArray();
		Arrays.sort(a);
		Arrays.sort(b);
		String string1 = Arrays.toString(a);
		String string2 = Arrays.toString(b);
		if(string1.equals(string2)) {
			System.out.println("YES");
		}else {
			System.out.println("NO");
		}

	}

}

2141.山

java 复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int ans = 0;
		for(int i=2022;i<=2022222022;i++) {
			if(dandiao(i)&&huiwen(i)) {
				ans++;
			}
		}
		System.out.println(ans);
	}
	
	public static boolean dandiao(int n) {
		int i=0;
		int a[] = new int[10];
		while(n>0) {
			a[i++]=n%10;
			n/=10;
		}
		int l,r;
		if(i%2==0) {
			l=i/2-1;
			r=i/2;
		}else {
			l=i/2;
			r=i/2;
		}
		//单调不减
		for(int j=1;j<=l;j++) {
			if(a[j]<a[j-1]) {
				return false;
			}
		}
		//单调不增
		for(int j=i-2;j>=r;j--) {
			if(a[j]<a[j+1]) {
				return false;
			}
		}
		return true;
	}
	
	public static boolean huiwen(int n) {
		int i=0;
		int a[] = new int[10];
		while(n>0) {
			a[i++]=n%10;
			n/=10;
		}
		int l=0,r=i-1;
		while(l<r) {
			if(a[l]!=a[r]) {
				return false;
			}
			l++;
			r--;
		}
		return true;
	}
}

204.压缩字符串

java 复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		char[] a = s.toCharArray();
		String ans = "";
		int k = 1;
		for(int i=0;i<a.length-1;i++) {
			if(a[i]==a[i+1]) {
				k++;
			}else {
				if(k>1) {
					ans+=a[i]+""+k+"";
					k=1;
				}else {
					ans+=String.valueOf(a[i]);
				}
			}
		}
		if(k>1) {
			ans+=a[a.length-1]+""+k+"";
		}else {
			ans+=a[a.length-1];
		}
		System.out.println(ans);
    }
}

📑文章末尾

相关推荐
悟空码字1 分钟前
SpringBoot 整合 ElasticSearch,给搜索插上“光速翅膀”
java·后端·elasticsearch
ULTRA??3 分钟前
各种排序算法时间复杂度分析和实现和优势
c++·python·算法·排序算法
骚戴11 分钟前
DeepSeek V3 & Llama 3 推理避坑指南:自建 vLLM 集群 vs API 网关架构深度对比
java·人工智能·python·大模型·api·vllm
墨雪不会编程16 分钟前
C++基础语法篇八 ——【类型转换、再探构造、友元】
java·开发语言·c++
sprintzer21 分钟前
12.06-12.15力扣分治法刷题
算法·leetcode
老毛肚21 分钟前
登录架构设计
java·开发语言
月明长歌21 分钟前
【码道初阶】【牛客BM30】二叉搜索树与双向链表:java中以引用代指针操作的艺术与陷阱
java·数据结构·算法·leetcode·二叉树·笔试·字节跳动
hoiii18723 分钟前
使用RPCA算法对图像进行稀疏低秩分解
人工智能·算法
小坏讲微服务25 分钟前
Spring Boot4.0整合RabbitMQ死信队列详解
java·spring boot·后端·rabbitmq·java-rabbitmq
yuuki23323327 分钟前
【C++】内存管理
java·c++·算法