练 习 题

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int p(int a[], int l, int r) {
	int v = a[r];
	int i = l - 1;
	for (int j = l; j < r; j++) {
		if (a[j] >= v) {
			i++;
			swap(a[i], a[j]);
		}
	}
	swap(a[i+1], a[r]);
	return i + 1;
}
int fi(int a[], int l, int r, int k) {
	if (l == r) return a[l];
	int s = p(a, l, r);
	int b = s - l + 1;
	if (b == k) return a[s];
	else if (b > k) return fi(a, l, s-1, k);
	else return fi(a, s+1, r, k-b);
}

int main() {
	int n, k;
	cin >> n >> k;
	int a[100000];
	for (int i = 0; i < n; i++) cin >> a[i];
	cout << fi(a, 0, n-1, k) << endl;
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

int main() {
	int n;
	cin >> n;
	
	int s[1000], e[1000];
	for (int i = 0; i < n; ++i) {
		cin >> s[i] >> e[i];
	}
	
	for (int i = 0; i < n - 1; ++i) {
		for (int j = 0; j < n - i - 1; ++j) {
			if (s[j] > s[j + 1]) {
				swap(s[j], s[j + 1]);
				swap(e[j], e[j + 1]);
			}
		}
	}
	int ms = s[0], me = e[0];
	bool f = true;
	for (int i = 1; i < n; ++i) {
		if (s[i] <= me) {
			me = max(me, e[i]);
		} else {
			f = false;
			break;
		}
	}
	if (f==true) {
		cout << ms << " " << me << endl;
	} else {
		cout << "no" << endl;
	}
	return 0;
}
相关推荐
8Qi85 小时前
LeetCode 115 & 392:不同子序列 / 判断子序列
算法·leetcode·职场和发展·动态规划
枕星而眠5 小时前
C++ 面向对象核心机制深度解析:多态性、虚函数、虚继承与 final 类
运维·开发语言·c++·后端
小蒋学算法5 小时前
算法-乘法表中第K小的数-二分
数据结构·算法
智者知已应修善业5 小时前
【51单片机8个LED,已经使用了D1D2,怎么样在不动D1D2的前提下实现D6~D8的流水灯】2024-1-19
c++·经验分享·笔记·算法·51单片机
Evand J5 小时前
【MATLAB例程】自适应渐消扩展卡尔曼滤波(AFEKF)三维雷达目标跟踪|效果已调优,附下载链接和运行结果,代码直接运行即可
开发语言·算法·matlab·目标跟踪·卡尔曼滤波·自适应滤波·代码定制
坚果派·白晓明5 小时前
鸿蒙PC适配实战:simdjson 三方库移植攻略与 AtomCode Skills 提效之道
c++·harmonyos·三方库·skills·atomcode·c/c++三方库·c/c++三方库适配
爱装代码的小瓶子5 小时前
3. 设计buffer模块
linux·服务器·开发语言·c++·php
郝学胜-神的一滴5 小时前
Qt 高级开发 027: QTabWidget自定义样式表美化实战
开发语言·c++·qt·程序人生·软件构建·用户界面
双河子思5 小时前
《代码整洁之道》——读书笔记(持续更新)
开发语言·c++·c#
郝学胜-神的一滴6 小时前
Qt 高级开发 026:QTabWidget御道,从筑基到化境
开发语言·c++·qt·程序人生·软件构建·用户界面