蓝桥杯(3.5)

789. 数的范围

java 复制代码
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int q = sc.nextInt();
		int[] res = new int[n];
		for(int i=0;i<n;i++)
			res[i] = sc.nextInt();
		
		while(q-- != 0) {
			int m = sc.nextInt();
			//先找左端点再找右端点
			int l = 0,r = n-1;
			while(l<r) {
				int mid = (l+r)/2;
				if(res[mid]>=m) r = mid;
				else l = mid + 1;
			}
			//l和r相等
			if(res[l] == m) {
				System.out.print(l+" ");
				//缩小搜索范围到(左端点到n-1)
				r = n-1;
				while(l<r) {
					int mid = (l+r+1)/2;//+1
					if(res[mid]<=m)	l = mid;
					else r = mid-1;
				}
				System.out.println(r);
			}else {
				System.out.println("-1 -1");
			}
		}
	}
}

790. 数的三次方根

java 复制代码
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		double n = sc.nextDouble();
		double l = -10000,r = 10000;
		while((r-l)>1e-8) {//保留6位多写两位
			double mid = (l+r)/2;
			if((mid*mid*mid) >= n)	r = mid;//!!
			else	 l = mid;
		}
		System.out.printf("%.6f",l);
	}
}

P2249 【深基13.例1】查找

java 复制代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));		
		
		String[] s1 = br.readLine().split(" ");

		int n = Integer.parseInt(s1[0]);
		int m = Integer.parseInt(s1[1]);
		
		int[] res = new int[n+1];
		String[] s2 = br.readLine().split(" ");

		for(int i=1;i<=n;i++)
			res[i] = Integer.parseInt(s2[i-1]);

		String[] s3 = br.readLine().split(" ");
		int k = 0;
		while(m-- != 0) {
			int z = Integer.parseInt(s3[k++]);
			int l = 1,r = n;
			while(l<r) {
				int mid = (l+r)/2;
				if(res[mid] >= z) r = mid;
				else l = mid + 1;
			}
			if(res[l] == z) {
				System.out.print(l+" ");
			}else {
				System.out.print("-1 ");
			}
		}
	}
}
相关推荐
是乐谷5 分钟前
阿里云杭州 AI 产品法务岗位信息分享(2025 年 8 月)
java·人工智能·阿里云·面试·职场和发展·机器人·云计算
天才测试猿25 分钟前
常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
墨染点香4 小时前
LeetCode 刷题【43. 字符串相乘】
算法·leetcode·职场和发展
_不会dp不改名_6 小时前
leetcode_42 接雨水
算法·leetcode·职场和发展
小木话安全6 小时前
ISO27001 高阶架构 之 支持 -2
网络·安全·职场和发展·学习方法
独行soc15 小时前
2025年渗透测试面试题总结-18(题目+回答)
android·python·科技·面试·职场和发展·渗透测试
gzzeason20 小时前
LeetCode Hot100:递归穿透值传递问题
算法·leetcode·职场和发展
墨染点香1 天前
LeetCode 刷题【42. 接雨水】
算法·leetcode·职场和发展
xnglan1 天前
蓝桥杯手算题和杂题简易做法
数据结构·数据库·c++·python·算法·职场和发展·蓝桥杯
天才测试猿1 天前
接口自动化测试难点:数据库验证解决方案
自动化测试·软件测试·数据库·python·测试工具·职场和发展·接口测试