蓝桥杯练习题(三)

📑前言

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

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

☁️博客首页: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 小时前
RocketMQ发送消息默认是什么策略,主同步成功了就算成功了?异步写?还是要大部分从都同步了?
java·后端·面试
starstarzz1 小时前
解决idea无法正常加载lombok包
java·ide·spring·intellij-idea·springboot·web
weixin_307779131 小时前
波动方程兼容性条件分析
算法
-qOVOp-1 小时前
408第二季 - 组成原理 - 流水线
数据结构·算法
oioihoii1 小时前
C++11 Thread-Local Storage:从入门到精通
java·开发语言·c++
YuTaoShao1 小时前
Java八股文——消息队列「场景篇」
java·面试·消息队列·八股文
YuTaoShao1 小时前
Java八股文——Redis「淘汰删除篇」
java·开发语言·redis
Xの哲學1 小时前
hostapd状态机解析
linux·网络·算法·wireless
FlyWIHTSKY2 小时前
idea中push拒绝,merge,rebase的区别
java·ide·intellij-idea
Code季风2 小时前
深入实战 —— Protobuf 的序列化与反序列化详解(Go + Java 示例)
java·后端·学习·rpc·golang·go