数据结构面试题总结3——数组:求数组中两个元素的最小距离

2021年4月下旬,百度机器学习/数据挖掘/NLP算法工程师面试8道题 七月在线注册6周年➕618双重暴击! 七月在线现推出众多大促活动! VIP会员周卡1分购,畅学百门AI好课! 附活动地址!–》https://www.julyedu.com/course/getDetail/222 问题1:编程题旋转有序数组,查找元素是否存在 思路: 1、暴力破解:遍历整个数组,查找元素是否存在; 2、二分查找:旋转后局部数组依然是有序的,所以此时依然可以使用二分查找算法; 参考代码: 问题2:实现余弦相似度计算 余弦相似度:用两个向量夹角判断其相似程度; 向量夹角越大,距离越远,最大距 阅读详情

问题描述:一个数组,有重复元素,范围不限,找出所给两个数在数组中的最短距离

注意开始的判断,a和b相等的情况下直接返回0,还有最后如果其中两个数有一个没有,返回错误信息

int minDistance(int *array, int len, int a, int b)
{
	if (array == null || len == 0||a==b)
		return 0;

	int A_pos = -1;
	int B_pos = -1;
	int minDist = len;

	for (int i=0; i<len; i++)
	{
		if (array[i] == a)
		{
			if (B_pos != -1)
			{
				minDist = min(i-B_pos, minDist);
			}
			A_pos = i;
		}

		if (array[i] == b)
		{
			if (A_pos != -1)
			{
				minDist = min(i-A_pos, minDist);
			}
			B_pos = i;
		}
	}
	if(A_pos == -1|| B_pos == -1)
		return  -1;
	return minDist;

}


数据结构(C语言) 三元组的操作实现 数据结构(C语言版)严蔚敏版的第一章的内容,抽象数据类型Triplet的操作实现,用C语言写的,比较简单,容易理解 立即下载

相关推荐

深入解析:如何在Visual Studio中高效编译libredwg与libdxfrw

本文详细介绍了在Visual Studio中高效编译libredwg与libdxfrw的完整流程,包括环境配置、源码获取、CMake技巧及常见错误解决方案。针对CAD开发者,提供了从基础编译到项目集成的实用指南,帮助快速处理DWG/DXF文件,提升开发效率。

weixin_29215391的博客 232

求数组中元素的最短距离

题目:给定一个含有n个元素的数组,找出数组中的两个元素X和Y使得abs(x-y)最小 解题思路:先排序,然后遍历元素。 #include //#include #include using namespace std; /* author:chhuaj date:2013.9.13 description:给定一个含有n个元素的数组,找出数组中的两个元素X和Y使得abs(x-

cvan的小窝 4797

QSPI Flash的原理与QSPI时序的Verilog实现

本节主要是讨论QSPI(Quad SPI,四线SPI总线)的相关内容。我的开发板上有一片型号是W25Q128BV的Quad SPI Flash存储器,本文将以它为例子来说明QSPI操作的一些内容。

Go Forward Forever! 4166

两数组最短距离

已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离。第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。第二行有m个整数,为数组f[]的所有元素。第三行有n个整数,为数组g[]的所有元素。...

m0_62768976的博客 1074

MUSIC算法翻车?Toeplitz矩阵重构如何解决DOA估计中的相干信源难题

本文深入探讨了MUSIC算法在相干信源DOA估计中失效的根本原因,并详细介绍了基于Toeplitz矩阵重构的协方差矩阵修复技术。该方法通过凸优化恢复协方差矩阵的理想结构,有效解决了信号子空间秩亏损问题,从而显著提升了MUSIC算法在相干和多径场景下的分辨精度与稳健性。

a2b3c4d5e的博客 249

python123题目——判断火车票座位B(异常)

类型:流程控制。

m0_62488776的博客 3569

数组中两个元素的最小距离

问题:给定一个数组,数组中含有重复元素,给出两个数n1和n2,求这两个数在数组中所出现位置的最小距离。例如,数组{4,5,6,4,7,4,6,4,7,8,5,6,4,3,10,8},4和8的最小距离是2. 思路:遍历数组,会遇到两个情况,一,当遇到n1时候,记录下n1对应的数组下标的位置n1_index,通过求n1_index与上次遍历到n2的下标值n2_index的差,可以求出最近一次遍历到n

wuxiaosi808的博客 3194

【云原生系列】第一讲:什么是云计算

云计算(cloud computing):分布式:分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,合并&反馈:通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期:分布式计算:简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过分布式计算,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。现阶段:计算:分布式计算、效用计算、负载均衡、并行计算、存储。

颜淡慕潇 1万+

数组的一些常见操作汇总

数组的一些常见操作汇总 转自[url]http://www.nowamagic.net/datastructures/ds_SumaryOfArrayControl.php[/url] 数组是最基本的数据结构,关于数组的操作是程序员最经常用到的。这里将一些常用的操作写成函数。 数组求和 给定一个含有n个元素的整型数组a,求a中所有元素的和。可能您会觉得很简单,是的,的确简单,但...

253

[CSP-X2025山东小学组T4]勇者斗恶龙

[CSP-X2025山东小学组T4]勇者斗恶龙,动态规划

少儿编程乔老师 150

2023华为OD面试手撕真题【最长公共前缀】

2023华为OD面试手撕真题【最长公共前缀】

MISAYAONE的博客 5239

leetcode数组中的问题(七)

目录 243. 最短单词距离 766. 托普利茨矩阵 面试题 17.04. 消失的数字 169. 多数元素 1287. 有序数组中出现次数超过25%的元素 119. 杨辉三角 II 面试题 16.17. 连续数列 1170. 比较字符串最小字母出现频次 243. 最短单词距离 https://leetcode-cn.com/problems/shortest-word-d...

xuanshuang的博客 1120

opencv案例实战——银行卡模式匹配识别

在之前的几篇文章中我们已经介绍了opencv的一些基础知识,本篇文章我们将结合一个案例运用之前的知识并且学习opencv中模式匹配的应用,用到的知识点如果有不清楚的可以查看上面列出来的系列文章。具体代码会放在最后。

艾醒的博客 1339

搬砖:算法经典面试题

算法经典面试题 https://blog.youkuaiyun.com/pcpanchen/article/details/16851151 1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6...

hunter 1564

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python快速排序找第k大值_在数组中找到第k大的数(快速排序法)

购买本课程后,可以加51CTO学院李宁老师官方交流群:550369460注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号即可)。本课程使用Python 3.7进行讲解,更高的Python版本仍然可用。 本课程的程序适合于Windows、macOS和Linux平台。学员不必纠结操作系统平台和Python的版本。Pytho...

weixin_39983912的博客 585

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

第一天----数据结构面试题

WeChat笔记1链接 1、== 和 equals 区别 == 是 Java 中一种操作符,它有两种比较方式。 对于基本数据类型来说, 判断的是两边的值是否相等; 对于引用类型来说, 判断的是两边的引用是否相等,也就是判断两个对象是否指向了同一块内存区域。 equals 是 Java 中所有对象的父类,即 Object 类定义的一个方法。 它只能比较对象,它表示的是引用双方的值是否相等。 2、static 关键字的理解 static 表示的概念是静态的,在 Java 中,static 主要用来: 修饰变量

da_ma_dai的博客 245

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

亚马逊面试题:二叉搜索树结点最小距离

描述 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值。 二叉树的大小范围在 2 到 100。 二叉树总是有效的,每个节点的值都是整数,且不重复。 在线评测地址 样例1 输入: root = {4,2,6,1,3} 输出: 1 解释: 注意,root是树结点对象(TreeNode object),而不是数组。 给定的树 [4,2,6,1,3,null,null] 可表示为下图: 4 / \ 2 6 / \ 1 3 最小的差值

LintCode的博客 188

二叉搜索树节点最小距离,一文轻松搞懂

一,二叉搜索树节点最小距离 1,问题简述 给定一个二叉搜索树的根节点 root,返回树中任意两节点的差的最小值。 2,示例描述 示例: 输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树节点对象(TreeNode object),而不是数组。 给定的树 [4,2,6,1,3,null,null] 可表示为下图: 4 / \ 2 6 / \ 1 3 最小的差值是 1, 它是节点1和节点2的差值,

weixin_50917449的博客 538

985研一学习日记 - 2024.11.3

一个人内耗,说明他活在过去;一个人焦虑,说明他活在未来。只有当一个人平静时,他才活在现在。

LiuYQi的博客 1212

paypal&大众点评

简述几个印象比较深的题目 1. 一台电脑上面有一个几百G的文件,文件的内容是一行一行的字符串,求出出现频率排名前十的字符串。 答:老题目了,我给出的答案是对字符串进行哈希,每次只统计哈希函数的值域里面的一个值的键(也就是某些字符串)的个数,而这些字符串是可以放进内存的。最简单的哈希函数就是Hash(str) = first_character_of_str(str),也就是取这个字符串的首字母

菜鸟の轨迹 781

52-数组-最接近的三数之和-LeetCode16(python)

题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).、 思路 用两个变量,一个来...

Try_my_best51540的博客 369

python面试题大全微盘_Python程序员面试算法宝典

前言面试笔试经验技巧篇经验技巧1 如何巧妙地回答面试官的问题2经验技巧2 如何回答技术性的问题3经验技巧3 如何回答非技术性问题4经验技巧4 如何回答快速估算类问题5经验技巧5 如何回答算法设计问题6经验技巧6 如何回答系统设计题9经验技巧7 如何解决求职中的时间冲突问题11经验技巧8 如果面试问题曾经遇见过,是否要告知面试官12经验技巧9 被企业拒绝后是否可以再申请12经验技巧10 如何应对自己...

weixin_39818631的博客 168

[刷题]Leetcode719:找出第k小的距离对

原题目:https://leetcode-cn.com/problems/find-k-th-smallest-pair-distance/ 题目: 给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。 示例: 输入: nums = [1,3,1] k = 1 输出:0 解释: 所有数对如下: (1,3) -> 2 (1,1) -> 0 (3,1) -> 2 因此第 1 个最小距离的数对是 (1,1),它们之间的距离为

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 310

java三年面试题及答案,阿里牛逼

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。KMP 算法(将★★★★)丢棋子问题(校★★★☆)画匠问题(校★★★☆)邮局选址问题(校★★★☆)题目可多,手打的要抽筋了…题目+答案(有分析有源码)就是一本完整的书《程序员代码面试指南 IT名企算法与数据结构题目最优解》,总共有532页。

m0_60607245的博客 982

Java程序员面试宝典笔记记录-第8章数据结构部分笔记

文章目录前言相关题目如何从链表中删除重复元素?找出单链表倒数第k个元素?如何实现链表反转?如何从尾到头输出单链表?如何寻找单链表的中间节点?如何检测链表中是否有环?若单链表有环,如何查找环入口?如何判断不知道头指针情况下删除指定节点?如何判断两个链表是否相交?链表相交如何找到相交的第一个节点?如何O(1)时间复制度求栈中最小元素?如何两个栈模拟队列?如何两个队列模拟栈?如何进行选择排序如何进行插入...

YuYunTan的专栏 490

华为、字节跳动、腾讯等面试出现的编程题汇总

本帖记录今年春招以来我在牛客网上看到了各大公司面经里面出现的编程题,持续更新,欢迎大家补充 华为面试算法题汇总 Leetcode2 链表相加 一个汽车工厂,实现工厂模式 leetcode最长公共前缀 图的最短路径算法 Djstrla 找出字符串第一次只出现一次的字符 最大的连续1个个数 32位数据 按位进行调换 一面砖墙,画一条竖线,哪里画线穿过的砖块最少。 ...

weixin_41927235的博客 2097
上一篇: 数据结构面试题总结2——数组:求出现次数超过一半的元素
下一篇: 数据结构面试题总结4——数组:求两个有序数组中的共同元素
B_Allen
博客等级 码龄12年 4粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值