应届生笔试编程题

2023-11-14

第一题:查找

有一个数组a[n],数组中的数据是一个无规律的递增数,请写出一个函数用最高效的方式判段关键字num是否在这个数组中。如果存在则返回该数所在数组中的位置,如果不存在则返回0XFFFFFFFF(假定数组长度小于这个值)。

例如:

Int a[]={1,2,3,4,555,666,888,......,444444};

FindNumber(a,sizeof(a)/sizeof(a[0]),3);返回值为2.

解析:


/*斐波那契查找*/  
int F(int i)
{
	if(i<2)
		return i==0? 0:1;
	return F(i-1)+F(i-2);
}
int Fibonacci_Search(int *a,int n,int key)
{
	int low=1,high=n,mid,i,k=0;
	while(n>F(k)-1)             /*计算n位于斐波那契数列的位置*/
		k++;
	for(i=n;i<F(k)-1;i++)       /*将不满的数值补全*/
		a[i]=a[n];

	while(low<=high)
	{
		mid=low+F(k-1)-1;
		if (key<a[mid])
		{
			high=mid-1;
			k=k-1;
		}
		else if (key>a[mid])
		{
			low=mid+1;
			k=k-2;
		}
		else
		{
			if(mid<=n)
				return mid;
			else
				return n;
		}
	}
	return -1;
}
int main(void)
{
	int a[100]={0,1,16,24,35,47,59,62,73,88,99};
	int fibonacci_i=Fibonacci_Search(a,11,59);
	printf("fibonacci_i=%d\n",fibonacci_i);
	return 0;
}

第二题:查找

写一段程序,找出数组中第K大大小的数,输出数所在的位置。例如{2,4

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

应届生笔试编程题 的相关文章

  • 每天都在谈SOA和微服务,但你真的理解什么是服务吗?

    近几年来 我一直从事着和面向服务相关的底层软件研发工作 逐渐的形成了一些自己的看法 其中我觉得比较重要的看法就是服务需要一个更准确细致的定义 简单来说 服务的本质就是行为 业务活动 的抽象 为了更好的阐述新服务的概念 并方便与传统的SOA中
  • 【C/C++】报错问题积累

    1 出现Deprecated declaration XXX give arg types c文件中 有没有参数的函数时 声明需要加void即 main c void fun main h void fun void
  • 侯捷系列:c++面向对象高级编程(上)

    文章目录 基于对象的程序设计 不带有指针成员变量的类 以复数类 Complex 为例 头文件的结构 访问级别 函数设计 内联函数 构造函数 常量成员函数 参数的值传递和引用传递 返回值的值传递和引用传递 友元 操作符重载 在类内声明 pub
  • android通过JNI用C/C++创建本地文件

    通过jni在本地创建文件 1 在android studio创建基本的jni工程 并且在APP界面成功显示 Hello from C 不会的可以看android studio使用jni 2 在native lib cpp文件中创建文件 为了
  • std::nth_element bug引起的crash问题

    1 源码 auto less compare const MirroringGroup mg1 const MirroringGroup mg2 gt bool return mg1 usage lt mg2 usage std nth e
  • JNA模拟复杂的C类型——Java映射char*、int*、float*、double*

    文章目录 引言 Java Native Type Conversions Java和C基本类型指针对应关系 Pointer的具体用法 引言 最近项目在用Java调用C写的一些三方库 没办法直接调 用Java封装一下C的接口 这就少不了要用到
  • c++得到窗口句柄

    include
  • 经典面试题之new和malloc的区别

    new和malloc的区别是C C 一道经典的面试题 我也遇到过几次 回答的都不是很好 今天特意整理了一下 0 属性 new delete是C 关键字 需要编译器支持 malloc free是库函数 需要头文件支持 1 参数 使用new操作
  • GDAL多光谱与全色图像融合简单使用

    目录 简述 C 代码 效果对比 GDAL融合效果和原始多光谱波段对比 GDAL融合效果和原始全色波段对比 ARCGIS融合效果与原始全色和多光谱对比 GDAL融合效果与ArcGIS融合效果对比 简述 最近在GDAL的代码中看见了gdalpa
  • BP学习算法-构建三层神经网络

    引 人工神经网络 Artificial Neural Networks 简写为ANNs 也简称为神经网络 NNs 或称作连接模型 Connection Model 是一种模仿动物神经网络行为特征 进行分布式并行信息处理的算法数学模型 这种网
  • 值得学习与推荐的c/c++框架和函数库

    这几天不上班 翻翻Evernote中记录的一些笔记 刚好有时间把记录的一些好玩链接转载一下 这篇文章里提到的很多库都用过 尤其是图像处理相关库 尤其是opencv及cximage 当时做图像算法时 很多算法就是从上面找来 然后自己修改的 比
  • R----dplyr包介绍学习

    dplyr包 plyr包的替代者 专门面对数据框 将ddplyr转变为更易用的接口 gt 来自dplyr包的管道函数 其作用是将前一步的结果直接传参给下一步的函数 从而省略了中间的赋值步骤 可以大量减少内存中的对象 节省内存 可惜的是应用范
  • Trace Function Enter, Exit and Leave

    http developer nokia com community wiki Trace Function Enter Exit and Leave
  • 在聚会中常玩数七的游戏,七的倍数和带有七的数字都不能说,比如14,27,28。请找出1~100的不能说的数字。...

    利用ES5的filter高阶函数来实现 var arr 1 2 3 4 5 6 7 17 27 21 22 28 100 r arr filter function x return x 10 7 x 7 0 alert r 7 14 17
  • 检查内存泄露

    自己编写的视频处理程序出现了一个问题 每帧的运行时间随着运行时间在不断增长 很大可能是出现了内存泄露 于是学习了一些查看内存泄露的方法 做了两种尝试 一是VS自带的DEBUG下的检测 view pl html view plain copy
  • C 语言运算符详解

    C 语言中的运算符 运算符用于对变量和值进行操作 在下面的示例中 我们使用 运算符将两个值相加 int myNum 100 50 虽然 运算符通常用于将两个值相加 就像上面的示例一样 它还可以用于将变量和值相加 或者将变量和另一个变量相加
  • C++ 字符串比较------strcmp函数和strncmp函数

    strcmp 函数原型 int strcmp const char str1 const char str2 功能 strcmp函数会按照字典顺序逐个比较两个字符串的字符 直到遇到不同的字符或者遇到字符串结束符 0 返回值 该函数返回值如下
  • C++实现函数重载的原理

    一 函数重载的概念 C 中允许存在同名函数 但要求函数参数的类型 个数不同 这些同名函数就称为函数的重载 void func int a int b cout lt lt func int a int b lt lt endl void f
  • 在 OS X 上的 virtualenv 中安装 scrapy 加密时发生错误 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在安装 scrapypip in virtualenv on OS X 10 11 当它安装密码学时 它说 buil
  • Woocommerce:添加第二个电子邮件地址不起作用,除非收件人是管理员

    我尝试了多种方法来向 Woocommerce 电子邮件添加其他收件人 但它似乎仅适用于主要收件人是管理员的测试订单 这些是我尝试过的片段 如果订单的客户是管理员 则电子邮件将发送到这两个地址 如果订单包含客户电子邮件地址 则仅发送至该电子邮

随机推荐

  • RxJava之PublishSubject、BehaviorSubject、ReplaySubject和AsyncSubject

    public class T2 subject 是一个神奇的对象 它可以是一个Observable同时也可以是一个Observer 它作为连接这两个世界的一座桥梁 一个主题可以订阅一个Observable 就像一个观察者 并且它可以发射新的
  • SpringBoot整合WebSocket实现后端向前端发送消息

    目录 一 什么是 websocket 接口 二 适用场景 三 示例代码 3 1 添加pom xml依赖 3 2 创建WebSokcet配置类 3 3 创建测试发送消息接口 3 4 测试webSocket http www jsons cn
  • C++三种计时方法pcl::console::TicToc

    目录 一 clock 二 gettimeofday 三 pcl console TicToc time Windows 10 VM Ware 16 Ubuntu 20 04 Ubuntu环境下测试了两种测量代码运行时间的函数 二者精度接近
  • bash: ip: command not found

    问题 想进入docker容器中ip addr查看ip地址 提示bash ip command not found 解决 bash ip command not found的主要原因是 当前环境下载Centos基础镜像只包含简单的操作系统 相
  • Android之 弹框总结

    一 简介 1 1 弹框即浮与页面之上的窗口 如键盘弹框 吐司弹框 确认弹框 下拉选择框 应用悬浮框等 1 2 弹框控件也很多 比如常用的Spinner Dialog Toast PopWindow等 以及新增的SnackBar Dialog
  • 如何使用Python中的异常处理机制来捕获和处理除零错误

    定义一个除法函数 用于演示异常处理 def divide x y try result x y except ZeroDivisionError print 错误 除数不能为零 else print 结果为 result finally p
  • 软件测试拿了几个20K offer,分享一波面经

    1 你的测试职业发展是什么 测试经验越多 测试能力越高 所以我的职业发展是需要时间积累的 一步步向着高级测试工程师奔去 而且我也有初步的职业规划 前3年积累测试经验 按如何做好测试工程师的要点去要求自己 不断更新自己改正自己 做好测试任务
  • llama/llama2论文解读

    llama 摘要 llama在约1 4T的token上 训练出参数量7B到65B的模型 其模型规模如下 在仅使用开源数据集的情况下 llama 13B在多数benchmarks上与GPT 3效果相当 llama 65B也与最好的模型 Chi
  • MySQL多表查询与事务的操作

    目录 1 表连接查询 1 1 多表查询的概念 1 2 内连接 1 3 外连接 2 子查询 3 事务 1 表连接查询 1 1 多表查询的概念 所需要的查询结果在多张不同的表中 因此需要用到多表查询 多表查询分为 内连接和外连接 内连接包含 隐
  • 二叉树遍历(递归实现前序/中序/后序遍历)

    1 准备工作 我们先定义一棵普通的二叉树 如下图 2 前序遍历 通过递归进行遍历 如果二叉树为空 则操作返回 如果非空 否则从根结点开始 然后遍历左子树 再遍历右子树 前序遍历的结果是 ABDGHEICFJK 为什么会遍历出这种结果 请看上
  • %d,%ld,%lld的区别

    在代码printf打印的时候我们经常会遇到 printf d xxx printf ld xxx printf lld xxx 那么在什么时候使用 d ld lld呢 d int ld long lld long long 在32位编译器上
  • k-means算法简介

    k means算法简介 文章目录 k means算法简介 一 什么是k means 二 k means算法的步骤 三 k means性能评估指标 四 k means的使用 4 1 相关API 4 2 具体案例 一 什么是k means 我们
  • 信息学奥赛一本通 1171:大整数的因子

    题目链接 http ybt ssoier cn 8088 problem show php pid 1171 思路 大整数挨个除以 2 9 2 sim 9 2 9 判断余数是否为 0
  • PatchMatchNet 学习笔记 译文 深度学习三维重建

    9 PatchMatchNet CVPR 2021 patchmatchnet源码下载 PatchMatchNet 代码注释版 下载链接 注释非常详细 较源码结构有调整 使用起来更方便 PatchMatchNet CVPR 2021 源码
  • Web的基本漏洞--任意文件读取与下载漏洞

    目录 一 任意文件读取漏洞介绍 1 任意文件读取漏洞原理 2 任意文件读取漏洞产生的原因 3 任意文件读取漏洞探测与危害 二 任意文件下载漏洞介绍 1 任意文件下载漏洞原理 2 漏洞产生原因 3 文件下载的两种方式 三 常见的敏感文件 Wi
  • react加入websocket

    1 首先创建一个公共的组件 封装websocket 代码如下 参数 socketOpen socketClose socketMessage socketError func socket连接成功时触发 连接关闭 发送消息 连接错误 tim
  • linux如何查看端口被哪个进程占用

    亲测可用 若有疑问请私信 本文介绍linux如何查看端口被哪个进程占用的方法 1 lsof i 端口号 2 netstat tunlp grep 端口号 都可以查看指定端口被哪个进程占用的情况 步骤一 lsof i lsof i 用以显示符
  • Spring Boot 实现日志追踪

    目录 背景 一 为什么要跟踪日志 二 MDC存储日志原理 三 代码 1 封装MDC工具类 2 配置日志过滤器 3 解决 traceId 的传递问题 4 配置logback pattern 参考学习 https blog csdn net L
  • 一秒点击屏幕次数_有实力说话就是直接,华为余承东直揭高刷屏幕的底!

    智能手机如今已经是我们不可获取的生活产品了 智能手机是由软件和硬件组成的 所以关于智能手机的升级一般就只能针对硬件升级 软件方面虽然也会有升级 但是基本上都不会有太多的更新 毕竟都是在安卓的基础上进行的 而硬件方面的更新就更多了一点 最近关
  • 应届生笔试编程题

    第一题 查找 有一个数组a n 数组中的数据是一个无规律的递增数 请写出一个函数用最高效的方式判段关键字num是否在这个数组中 如果存在则返回该数所在数组中的位置 如果不存在则返回0XFFFFFFFF 假定数组长度小于这个值 例如 Int