【大视野入门OJ】1083:数组的二分查找
2024-09-02 05:00:55
Description
在1500个整数中查整数x的位置,这些数已经从小到大排序了。若存在则输出其位置,若不存在则输出-1。
Input
第一行,一个整数x 后面1500行,每行一个整数
Output
一个整数(表示x的位置,若不存在则输出-1)
Sample Input
5 1 2 5 7 .....
Sample Output
3
二分查找板子题 数据已经预先排好
代码能力真的不行,手生的一匹。。
二分查找 核心在折半 用递归写比较简单吧 O(log n)的复杂度
#define length 1500 #include <cstdio> #include <cmath> using namespace std; ]; int midSearch(int left,int right,int mid,int target){ if (dict[mid]==target){ return mid; } if (left>right){ ; } if (dict[mid]<target){ ,right,floor((mid++right)/),target); } if (dict[mid]>target){ ,floor((left+mid-)/),target); } } int main(int argc, char const *argv[]){ //freopen("1083.in","r",stdin); //freopen("1083.out","w",stdout); scanf("%d",&n); ; i <= length; ++i){ scanf("%d",&dict[i]); } ,length,floor((+length)/),n); printf("%d\n", ans); ; }
交了十次出错的原因是:
1. 最重要的:文件没删。。。(怕不是要被打死)
2. 调试完的时候length没改回来。。。
2. WA的原因是折半的语句中mid没有+1 和 -1 (这会导致玄妙的错误 可以自己出一个小一点的数据体验一下)
综上,代码能力还是差了太多 而且调试方面也不熟,同志尚待努力。
最新文章
- spring定时器,定时器一次执行两次的问题
- SQL Server 在数据库中查找字符串(不知道表名的情况下 查找字符串)
- BitLocker 加密工具挂起和恢复命令行(windows7)
- 关于angular的一些新手容易忽略的小知识点
- linux--分卷压缩解压缩
- Appium移动自动化测试(四)--one demo
- C#算法基础之快速排序
- Apache的最小配置
- less的基本使用
- OO第二单元作业分析
- 【PgSQL安装(含配置)】PostgreSQL简称PgSQL,是1980以加利福尼亚大学开发的DBMS,严格遵守标准SQL。
- Modbus库开发笔记之四:Modbus TCP Client开发
- [摘录] 图灵机与lambda演算的关系
- git 的安装及使用
- rabbitmq学习(九) —— 关于消息队列的选型
- 2014年誓言:干掉网页设计程序——Dreamweaver!
- SSH 转发学习【转】
- Ubuntu 安装 Oracle11gR2:&#39;install&#39; of makefile &#39;/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk&#39;
- Python简单的制作图片验证码
- Linux解压工具
热门文章
- 【uva12232/hdu3461】带权并查集维护异或值
- bzoj 1594: [Usaco2008 Jan]猜数游戏——二分+线段树
- python学习笔记(八)之元组
- Linux 入门记录:五、vi、vim 编辑器
- Linux进程的创建函数fork()及其fork内核实现解析
- 1002: 当不成勇者的Water只好去下棋了---课程作业---图的填色
- aspxpivotgrid 导出excel时,非绑定咧显示为0的情况
- mybatis模糊查询sql
- IE6下面的hover不兼容
- java中的数组与集合相互转换