二分查找相关的题
相关 查找 二分
2023-09-11 14:15:52 时间
问题 A: 找x
http://codeup.cn/problem.php?cid=100000585&pid=0
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int solve(int left,int right,int x,int a[])
{
int mid;
while(left<=right)
{
mid=(left+right)/2;
if(a[mid]==x)
return mid;
if(a[mid]>x)
{
right=mid-1;
}
else
{
left=mid+1;
}
}
return -1;
}
int main(void)
{
int n;
while(cin>>n)
{
int a[205];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
int x;
cin>>x;
printf("%d\n",solve(0,n-1,x,a));
}
return 0;
}
问题 B: 打印极值点下标
http://codeup.cn/problem.php?cid=100000585&pid=1
思路:
先看第一个和第二个相不相等,不相等就输出下标
看中间部分挨个遍历,如果一个数的左边一个数和右边一个数都不这个数大或小,就输出当前的下标。
然后看最后一个和最后第二个相不相等,不相等就输出下标。
#include<iostream>
#include<cstdio>
using namespace std;
int main(void)
{
int n;
int N;
while( scanf("%d",&n) != EOF)
{
for(int i=0;i<n;i++)
{
cin>>N;
int a[85]={0};
for(int i=0;i<N;i++)
scanf("%d",&a[i]);
if(a[0]!=a[1])
printf("0 ");
for(int i=1;i<N-1;i++)
{
if( ( a[i]>a[i-1] && a[i]>a[i+1] ) || (a[i]<a[i-1] && a[i+1]>a[i] ) )
{
printf("%d ",i);
}
}
if(a[N-1]!=a[N-2])
printf("%d\n",N-1);
}
}
return 0;
}
问题 C: 查找
http://codeup.cn/problem.php?cid=100000585&pid=2
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
bool flag(int a[],int left,int right,int number)
{
int mid;
while(left<=right)
{
mid=(left+right)/2;
if(a[mid]==number)
return true;
if(a[mid]>number)
{
right=mid-1;
}
else
{
left=mid+1;
}
}
return false;
}
int main(void)
{
int n,m;
int i;
int a[105];
while(cin>>n)
{
for(i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
cin>>m;
for(i=0;i<m;i++)
{
int number;
cin>>number;
if(flag(a,0,n-1,number))
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}
相关文章
- 爬虫相关
- 使用Python爬取网页的相关内容(图片,文字,链接等等)
- Android依赖注入:Google Guice on Android的使用及相关资源
- 数据分析相关管理职位的崛起
- 重新点亮linux 命令树————目录相关[三]
- Win32 DLL相关操作
- Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现
- Java中记录日志方式比较及相关建议
- 【Kotlin 协程】协程简介 ( 协程概念 | 协程作用 | 创建 Android 工程并进行协程相关配置开发 | 异步任务与协程对比 )
- 【Android Gradle 插件】ProductFlavor 配置 ( applicationId 配置 | SdkVersion 相关配置 | version 应用版本配置 )
- UICC 之 USIM 详解全系列——UICC安全相关内容
- Android 10.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析
- Android NDK 字符串的查找拼接截取替换转换等相关操作
- 第一篇:深入并发,线程相关知识全解析