查找数组元素相同的最后一组数组的第一个下标

题目

面试过程中,被问到这道面试题,做个记录:

有一组数组x:
x={“11”,”aa”}

要比较的数组y是:
y={“11”,”aa”,“11”,”aa”}
y1={“11”,”aa”,“11”,”res”,”aa”}
y2 = {“11”,”11”,“11”,”aa”}

需求:查找y数组,找出与x数组相同项(相同项可能有多组),找最后一组,并返回最后一组的第一个元素的下标

以上分别返回:
2
0
2


使用OC语言写的代码:

- (void)viewDidLoad {[super viewDidLoad];//测试数组NSArray *x = @[@"aa", @"aa", @"11"];NSArray *y = @[@"aa", @"aa", @"aa", @"11"];//调用NSInteger result = [self lastIndexWithArrayX:x andY:y];NSLog(@"%d", result);
}//返回最后一组的下标
- (NSInteger)lastIndexWithArrayX:(NSArray *)x andY:(NSArray *)y
{//判断边界条件if(x == nil) return 0;if(y == nil) return 0;//定义最后找到的Y值indexint lastYIndex = 0;//比较x和yint findYIndex = 0;for(findYIndex = 0; findYIndex < y.count; findYIndex++){//yint tempFindYIndex = findYIndex;for(int j = 0; j < x.count; j++){//xif(y[tempFindYIndex] == x[j]){//相等,找下一个//边界条件,x找完了if(j == x.count - 1){//找下一组lastYIndex = tempFindYIndex;//记录最后一次找到的Y值的indexbreak;}//+1操作tempFindYIndex++;}else{//不相等,y值从下一个开始,x值从0开始break;}}}if(lastYIndex > 0){return lastYIndex - (x.count - 1);}else{return 0;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/725033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为树莓派5编译Android14源码

为树莓派5编译Android14源码 1. 软硬件要求 官方推荐配置: https://source.android.google.cn/docs/setup/start/requirements?hl=zh-cn ubuntu22.04 虚拟机内存最低 16GB磁盘最低 360GB2. 安装依赖工具 官方文档:https://source.android.google.cn/docs/setup/start/init…

jieba模块中文分词应用场景案例

jieba 是一个在 Python 中广泛使用的中文分词库。由于其高效、准确和易用&#xff0c;jieba 在自然语言处理领域有着广泛的应用。下面我将通过一个简单的案例来展示 jieba 在中文分词中的应用场景。 案例&#xff1a;文本分类 假设我们有一个简单的文本分类任务&#xff0c;需…

Linux 之二:CentOS7 的 IP 常用命令和配置及 xshell 基本使用方法

1. 进入虚拟机 点击右键---进入终端--输入 ip adrr 或 ifconfig 查看ip地址 下面输入命令 ifconfig&#xff08;注意&#xff1a;不是 ipconfig &#xff09; 或 ip addr 来查看当前系统 IP 查看到IP 后&#xff0c;比如&#xff1a;上面是 192.168.184.137 1.1 IP 常用命令…

LeetCode142题:环形链表II(python3)

代码思路&#xff1a; 双指针的第一次相遇&#xff1a; 设两指针 fast&#xff0c;slow 指向链表头部 head 。 令 fast 每轮走 2 步&#xff0c;slow 每轮走 1 步。 fast 指针走过链表末端&#xff0c;说明链表无环&#xff0c;此时直接返回 null。 如果链表存在环&#xff0c;…

web学习笔记(二十六)

目录 1.JS执行队列 1.1JS是单线程 1.2Web Worker 1.3同步和异步 1.4JS执行机制 2.location对象 2.1什么是location对象 2.2url包含的信息 2.3location对象属性 2.4location对象的方法 3.navigator对象和history对象 3.1navigator对象 3.2history对象 1.JS执行队…

在Jupyter Notebook中安装第三方库

pip vs. conda pip 可以在所有环境下安装python包。conda 可以在conda环境下安装所有包。 如果你已经安装了python&#xff0c;那么这个选择对你来说是非常容易的&#xff1a; 如果你是用Anaconda或者Miniconda安装的python&#xff0c;那么请使用conda命令来安装python包。如…

原来我不会递归的原因是不会调试

visual 2022 关于debug和release的区别&#xff0c; 原谅我现在才知道 飞机降落--蓝桥 #include<iostream> using namespace std; struct node {int a, b, c; }q[11];int t, n;bool book[11]; // 标记第 i 架飞机是否降落bool dfs(int num, int last) {if (num n) r…

【MogDB】实战MogDB数据库适配Halo博客系统1.6版本(基于springframework+hibernate+HikariPool)

前言 前一篇文章说了MogDB适配Halo,【MogDB】将流行的博客系统Halo后端的数据库设置为MogDB,但是适配的是2.x版本&#xff0c;由于2.x版本已经引入了对postgresql的支持&#xff0c;而MogDB对于postgresql有很好的兼容性&#xff0c;因此适配起来很简单。但是由于halo2.x的版本…

初识JS

目录 javascript的作用: 浏览器如何执行JS代码&#xff1a; JS的三部分组成&#xff1a; ECMAScript: DOM: BOM: JS的三种书写导入方式&#xff1a; JS注释&#xff1a; JS的输入输出语句&#xff1a; JS变量,数据&#xff1a; 变量的使用&#xff1a; 声明变量&…

Linux的包管理和软件仓库常见问题有哪些?怎么解决

Linux的包管理和软件仓库在使用过程中可能会遇到一些问题&#xff0c;这些问题通常涉及软件的安装、更新、依赖关系、仓库配置等方面。以下是一些常见问题及其解决方法&#xff1a; 1. **软件包依赖问题**&#xff1a; - **问题**&#xff1a;在安装软件时&#xff0c;系统…

嵌入式学习第二十五天!(网络的概念)

网络&#xff1a; 可以用来&#xff1a;数据传输、数据共享 1. 网络协议模型&#xff1a; 1. OSI协议模型&#xff1a; 应用层实际收发的数据表示层发送的数据是否加密会话层是否建立会话连接传输层数据传输的方式&#xff08;数据包&#xff0c;流式&#xff09;网络层数据的…

Vue+SpringBoot打造医院门诊预约挂号系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 功能性需求2.1.1 数据中心模块2.1.2 科室医生档案模块2.1.3 预约挂号模块2.1.4 医院时政模块 2.2 可行性分析2.2.1 可靠性2.2.2 易用性2.2.3 维护性 三、数据库设计3.1 用户表3.2 科室档案表3.3 医生档案表3.4 医生放号…

SpringCloud Alibaba 学习

一&#xff1a;SpringCloud Alibaba介绍 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服 务的必需组件&#xff0c;方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba&…

3-1大佬分享:字节跳动代码设计理念

面试官: 你好&#xff0c;今天我们来聊一聊抽象工厂模式。首先&#xff0c;你能概述一下什么是抽象工厂模式吗&#xff1f; 求职者: 当然。抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一个接口来创建一系列相关或者相互依赖的对象&#xff0c;而不需要指定它们具体…

JavaScript实现点击鼠标弹钢琴的效果

思路&#xff1a; 图片设置宽900px&#xff0c;找到鼠标按下时的x坐标和img距离body的x坐标&#xff0c;两个值相减&#xff0c;然后除100取整&#xff0c;赋值给a&#xff0c;通过判断a的值来确定放出那个音乐。 完整代码&#xff1a; <!DOCTYPE html> <html lan…

基础算法(三)#蓝桥杯

文章目录 11、构造11.1、小浩的ABC11.2、小新的质数序列挑战11.3、小蓝找答案11.4、小蓝的无限集 12、高精度12.1、阶乘数码(高精度*单精度) 11、构造 11.1、小浩的ABC #include<bits/stdc.h> using namespace std; #define IOS ios::sync_with_stdio(false);cin.tie(n…

MQTT连接阿里云物联网上报物模型数据

目录 1. 创建产品&#xff08;物联网平台 -> 产品 -> 创建产品&#xff09; 2. 为产品添加设备 3. 添加物模型 4. mqtt.fx连接测试 5. 调试物模型 6. 使用mqtt.fx上报温度数据 1. 创建产品&#xff08;物联网平台 -> 产品 -> 创建产品&#xff09; 我这里再新…

嵌入式Linux学习DAY27

消息队列通信&#xff1a; IPC对象&#xff1a;内存文件 消息队列查看&#xff1a;ipcs 消息队列删除&#xff1a; ipcrm -M/-Q/-S key---删除消息队列、内存共享、信号灯 ipcrm -q/-m/-s 消息队列ID/共享内存ID/信号灯ID 流程&#xff1a;创建消息队列->发送消息->…

利用Nginx简单实现端口转发

工作中&#xff0c;经常遇到端口转发的情况。实现的方式很多种&#xff0c;个人感觉还是用nginx实现方便一些。我的环境是ubuntu 22.04, 路由器开通端口段全部映射到这台机器&#xff0c;然后再由它转发给各兄弟机。 /etc/nginx/nginx.conf, 文末位置加入&#xff1a; stream…

迷宫641——2017蓝桥杯

1.这种“一路走到底”就是dfs 2.ps:我觉得要自己思考怎么样是走出去&#xff0c;怎么样是走不出去&#xff0c;对于提高分析问题从而建模编程的能力提高很有效。 走出去&#xff1a;就是坐标超出格子了 走不出去&#xff1a;就是一直绕圈子&#xff0c;什么是绕圈子&#xf…