蓝桥杯练习题(一)

📑前言

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

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

[252.查找两个总和为特定值的索引 - 蓝桥云课 (lanqiao.cn)]

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
/*
6
1 2 3 -2 5 7
7
 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int num[] = new int[n];
		for(int i=0;i<n;i++) {
			num[i]=sc.nextInt();
		}
		int target = sc.nextInt();
		Map<Integer, Integer> map = new HashMap<>();
		int a[]=new int[2];
		for(int i=0;i<n;i++) {
			map.put(num[i], i);
		}
		//索引最小,只需要保证第一个数最小
		for(int i=0;i<n;i++) {
			int num1=target-num[i];
			if(map.containsKey(num1)) {
				System.out.println(i+" "+map.get(num1));
				break;
			}else {
				map.put(num[i], i);
			}
		}
	}

}

720.[世纪末的星期 - 蓝桥云课 (lanqiao.cn)]

import java.util.Calendar;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建一个日历类
		Calendar calendar = Calendar.getInstance();
		//星期日用1来表示
//		calendar.set(2000, 0,2);
//		System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
		int i=0;
		for(i=1999;;i+=100) {
			calendar.set(i, 11,31);//注意,月份从0开始表示,0表示1月
			if(calendar.get(Calendar.DAY_OF_WEEK)==1) {
				break;
			}
		}
		System.out.println(i);
	}

}

[614.第几天 - 蓝桥云课 (lanqiao.cn)]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		System.out.println(2*31+1*30+4+29);
	}

}

[1463.货物摆放 - 蓝桥云课 (lanqiao.cn)]

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		List<Long> list = new ArrayList<>();
		long ans=0;
		long n=2021041820210418L;
		//依次遍历,不可能出现重复的情况
		for(long i=1;i<=n/i;i++) {
			if(n%i==0) {
				list.add(i);
				list.add(n/i);
			}
		}
		for(Long i:list) {
			for(Long j:list) {
				for(Long k:list) {
					if(i*j*k==n) {
						ans++;
					}
				}
			}
		}
		System.out.println(ans);
	}

}

[2080.求和 - 蓝桥云课 (lanqiao.cn)]


import java.util.Scanner;

public class Main {
/*
4
1 3 6 9
117
 */
//注意数据范围,本题sum数组使用long
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		long ans=0;
		int a[]=new int[n+1];
		long sum[]=new long[n+1];
		for(int i=1;i<=n;i++) {
			a[i]=sc.nextInt();
		}
		//累积和
		for(int i=1;i<=n;i++) {
			sum[i]=a[i]+sum[i-1];
		}
		for(int i=1;i<=n;i++) {
			ans+=a[i]*(sum[n]-sum[i]);
		}
		System.out.println(ans);
	}

}

[315.寻找 3 个数的最大乘积 - 蓝桥云课 (lanqiao.cn)]

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

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int a[] = new int[n];
		int k=0,t=0;
		long ans=0;
		for(int i=0;i<n;i++) {
			a[i]=sc.nextInt();
			if(a[i]<0) {
				k++;
			}else {
				t++;
			}
		}
		Arrays.sort(a);
		//负数要么2个,要么0个,才能保证最后的乘积最大
		ans = Math.max(a[0]*a[1]*a[n-1], a[n-1]*a[n-2]*a[n-3]);
		System.out.println(ans);
	}

}

📑文章末尾

在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风与他

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值