通过移动线段中心点最大化交集(C++)
在此教程中,我们将讨论一个通过移动线段中心点找到最大可能交集的程序
为此,我们将得到三个线段的中心及其长度。我们的任务是将它们的中心移动 K 距离,以增加相交区域的长度。
示例
#include <bits/stdc++.h>
using namespace std;
//finding maximum intersection
int max_intersection(int* center, int length, int k) {
sort(center, center + 3);
if (center[2] - center[0] >= 2 * k + length) {
return 0;
}
else if (center[2] - center[0] >= 2 * k) {
return (2 * k - (center[2] - center[0] - length));
}
else
return length;
}
int main() {
int center[3] = { 1, 2, 3 };
int L = 1;
int K = 1;
cout << max_intersection(center, L, K);
}输出
1
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP