面试题:求2个有序数组的有序交集

YOLO11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总 YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总 阅读详情
内容来自论坛: http://topic.youkuaiyun.com/u/20081012/14/3cc93688-1f7f-4985-806c-3f729c78261b.html

14给出了我认为最简单的算法,不过其犯了一点点小错误,我修正了。
  1.   public static void test() {
  2.     int[] a = { 2, 3, 4, 4, 4, 4, 7, 8, 8, 8, 8, 9, 100, 130, 150, 160 };
  3.     int[] b = { 4, 6, 7, 7, 7, 7, 8, 8, 9, 10, 100, 130, 130, 140, 150 };
  4.     int i = 0, j = 0;
  5.     ArrayList<Integer> al = new ArrayList<Integer>();
  6.     while (i < a.length && (j < b.length)) {
  7.       if (a[i] < b[j])
  8.         i++;
  9.       else if (a[i] > b[j])
  10.         j++;
  11.       else {
  12.         al.add(a[i]); // 这里应该先加入,然后再加1
  13.         i++;
  14.         j++;
  15.       }
  16.     }
  17.     System.out.println(al);
  18.   }
运行结果为
[4, 7, 8, 8, 9, 100, 130, 150]


如果不允许重复,则使用TreeSet就行了。
  1. TreeSet<Integer> al = new TreeSet<Integer>();
运行结果
[4, 7, 8, 9, 100, 130, 150]



Python入门实战:Python生物信息学编程基础 本文旨在为生物学背景的研究人员和对生物信息学感兴趣的程序员提供一个全面的Python生物信息学编程入门指南。我们将从Python基础知识开始,逐步深入到生物信息学特定的工具和技术,最终达到能够独立开发生物信息学分析程序的水平。Python编程基础生物信息学常用数据结构和算法DNA和蛋白质序列分析基因组数据处理生物信息学数据可视化Biopython库的使用实际项目案例背景介绍:概述文章目的、范围和预期读者核心概念与联系:介绍Python和生物信息学的基本概念。 阅读详情

相关推荐

营销反作弊之 异常行为分析模型(一),附带python代码

通过对用户行为进行深入的分析,识别出与常规模式不符的异常行为,可以有效检测并阻止虚假广告点击、刷单、点击欺诈等欺诈行为。本文将详细探讨营销反欺诈中异常行为分析的方法,介绍如何通过数据采集、清洗、行为建模与异常检测,准确识别潜在的欺诈行为,并提供 Python 实现代码示例。**监督学习 (Supervised Learning):**在标注数据的帮助下,训练机器学习模型使其能预测未知数据的结果。营销反欺诈异常行为分析的整体流程涉及多个环节,确保通过对用户行为的深入分析,及时识别潜在的欺诈行为。

viviwiky的博客 1230

腾讯实习笔试:关于几个有序数组求交集的问题

题目就是假设有三个有序数组对其求交集,要求算法空间复杂度必须小,有序数组量会比较大。 解法: 第一种就是用二分法查找,二分法查找的效率是log(n),两个数组求交集就是n1log(n2),当n1远小于n2的时候,这个算法效果可以 第二种就是遍历,用两个游标来实现,具体可以见代码,算法效率o(n1+n2)线性,当n1和n2比较接近时效果可以 #include<iostream> #include<cstdlib> #include<vector> #include<l

weixin_42376458的博客 710

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 183

N个数组取交集

N个数组取交集

打伞的鱼 1110

OTFS从零开始11 10

未来的无线网络有望提供全球覆盖,因此需要支持在恶劣环境下的各种新兴应用,例如飞机上的移动通信(MCA)、低地球轨道(LEO)卫星通信、车对车(V2V)通信、高速铁路(HSR)通信、无人驾驶飞机(UAV)通信和水下声学通信(UAC)。在这些恶劣环境中的无线信道通常被视为对通信不友好,其特点是严重的延迟和多普勒扩散,以及有限的路径寿命等。这些不利于通信的特性使目前移动网络中广泛采用的正交频分复用(OFDM)调制的性能恶化。

qq_46009045的博客 9861

DOORS需求管理实战:从汽车设计案例看模块化需求拆分技巧

本文通过一个汽车设计实战案例,深入解析了如何利用DOORS进行模块化需求拆分与管理。从捕获原始用户需求到精炼为可追踪的系统需求,再到按子系统(如自动驾驶)进行模块化拆分,文章详细展示了构建需求骨架、建立可追溯性以及实施变更控制的完整流程,帮助团队在复杂系统工程中实现从混沌到秩序的高效协同。

ww90123的博客 244

多个有序数组的交集

给定多个数组,请输出所有数组的交集。例如有三个数组 [1,2, 3, 4, 5],[1, 4, 5, 7],[2, 4, 5, 8],则输出交集为[4,5] 利用遍历+二分查找的方法。选定一个一个数组,假设选第一个数组,我们依次遍历数组,然后在其他几个数组中查找每一个元素,如果其他数组都有该元素,则输出,否则继续查找下一个元素。 这里我们可以优化点是:用一个数组来维护查找的下标,充分利用有序数组的特点,对于以后数据量庞大的输入十分有效,就是每次查找我们将找到的位置保存在该数组中,下次查找的数一定是大于或

一抹阳光的博客 2659

海康DS-7604N-K1/RTB固件包

【摘要】海康DS-7604N-K1/RTB萤石云设备发布V4.30.091版本升级程序(2022.09.19),仅适用于指定型号。升级前需先升级至V3.4.106基础版本,刷机会重置设备为未激活状态,需重新设置admin密码。该机型支持密码/手势登录,无密码时可通过U盘升级。注意事项:升级存在风险,需确认程序适用性;升级过程严禁断电;必须阅读压缩包内的刷机说明。此为定制机型,非必要不建议升级。(150字)

海康威视技术支持 1578

LeetCode——有序数组取交集

func interArr(arr1, arr2 []int) []int { resArr := make([]int, 0) if len(arr1) == 0 || len(arr2) == 0 { return resArr } arr1Index := 0 arr2Index := 0 for arr1Index < len(arr1) && ar...

李豆豆的博客 951

RK3588 部署 YOLO26 目标检测:从训练到 NPU 推理

如果做垂直场景(工业缺陷、农作物、特定零件),需要自己标数据。采集图像(500+ 张,覆盖不同光照/角度)→ 筛选(删除模糊/无目标)→ LabelImg 标注(选择 YOLO 格式)→ 划分(train:val:test = 7:2:1)labelImg├── train/├── val/├── test/YOLO26 在 RK3588 上的全流程是 PC 端训练 + ONNX 导出 → RKNN 转换(INT8 量化)→ 板端推理。

m0_71589036的博客 110

2024年上半年试题二:论性能测试方法及其应用

2025年1月,我以系统分析师的身份参与了公司OA系统的开发与建设。该系统包含的功能有打卡签到、公文流转、工资查询等。我们吸取了之前由于系统使用人数激增暴露出的短时间卡顿等问题,所以在本次开发中,我们非常重视系统的性能测试。通过自动化的测试工具模拟多种正常、峰值及异常负载条件对系统的各项性能指标进行测试。性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样,常见的负载测试和压力测试都属于性能测试。

银帅 548

有序链表集合求交集 方法 总结

- 二重for循环法,时间复杂度O(n*n) - 拉链法,时间复杂度O(n) - 水平分桶,多线程并行 - bitmap,大大提高运算并行度,时间复杂度O(n) - 跳表,时间复杂度为O(log(n))方案一:for * for,土办法,时间复杂度O(n*n)画外音:比较笨的方法。方案二:有序list求交集,拉链法有序集合1{1,3,5,7,8,9}有序集合2{2,3,4,5,6,7}两个指针指向首元素,比较元素的大小:(1)如果相同,放入结果集,随意移动一个指针;(2)否则,移动值较小的一个指针,直到队尾

软件工程小施同学 的专栏 2184

复现Fastjson反序列化漏洞(从dnslog回显到rce再到反弹shell)

Fastjson是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。它还可以用于将JSON字符串转换为等效的Java对象,fastjson爆出多个反序列化远程命令执行漏洞,攻击者可以通过此漏洞远程执行恶意代码来入侵服务器。......

记录并分享学习安全的知识点.. 2699

找出两个有序数组的交集

import java.util.ArrayList; import java.util.List; /** * 【题目】:别人面经上的一道题:求两个有序数组中的交集。看似很简单的一道题,但是最终想要的思路是一个来回二分查找的思路 * 【思想】:求交集的就需要去查找两个数组中的重复元素。然后要查找的话,又是有序数组,自然想到二分查找。所以,首先遍历数组A中的数numsA[idx] * 然后再数组B中去二分查找numsA[idx],返回一个索引idx2; 然后if(numsA[idx]==numsB[

weixin_44718747的博客 1431

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数据结构面试题总结4——数组:求两个有序数组中的共同元素

问题描述:输入为两个有序数组,输出为共同元素。 分析:最简单的方法就是循环中套循环,时间复杂度为O(n*m),但是我们并没有用到有序这个有利条件。 我们可以用两个指针i和j分别指向a和b,比较a[i]和b[j],根据比较结果移动指针: 1. a[i] 2. a[i] == b[j],则i和j皆加1,继续比较 3. a[i] void FindCom(int *a, int

B_Allen的专栏 1236

IDEA的使用指南

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

php 两个数组求交集_如何求两个数组的交集

题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例 2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。解答首先对nums1进行遍历,将遍历结果存储在map中,然后针对nums...

weixin_33788465的博客 300

求无序集合的并集、交集、子集(大厂面试题)

前两天面某大厂,有这么一条考数据结构的题,属实把我难倒了,要考虑的点实在太多了。 题目基本如下: 有n个集合,每个集合里面存放无规律数字,每个集合可以认为是从一个文件里面读出来的数字,自己考虑用什么数据结构来存。(一个集合里面是不允许有重复元素的) 求两个集合的并集、交集、子集。(子集即两个集合的交集的一部分,例如sub(a&b,0)就是求a、b两个集合的交集的子集,子集大小为10) 求多个集合的并集、交集、子集。 求多个集合进行并集、交集混合运算后的子集。(例如,sub((a|b|c|.

lyj1597374034的博客 2082

LeetCode-移除元素、删除有序数组中的重复项

得到序列[5, 2, 3, 4],同样满足题意。(适用于。

Emily_ASL的博客 694

算法编程题-区间列表的交集、飞机座位分配概率

本文将介绍两道LeetCode原题,一道是区间列表交集,另外一道则是飞机座位分配概率,实质上是一道常考的智力题。本文将给出基于golang语言的实现,代码实现通过了所有测试用例,最后给出相关的复杂度分析。

zhuohuashiyi 1263

程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】

6、分别用递归和非递归实现二分查找算法 分析:

dabusideqiang的专栏 3922

LeetCode第 350 题:两个数组的交集 II(C++)

350. 两个数组的交集 II - 力扣(LeetCode) 和349题稍微有点区别,结果数组里可以重复。 使用map的原因是可以记录出现的次数。 class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { unordered_map<int, int> map; vector<in

zj 421

关于两道排序面试题的讨论

文章目录缘起正文题一题二扩展1 生成组织树2.查询时间段交集数据总结 缘起 不久前,我去一家创业公司面试,因为他们没有专业的java开发,于是请了一个颇有经验的人出了两道笔试题:1.二分查找的代码实现,2.谈谈关于软件设计原则的看法。也是比较难较难得了,很少有人会问到这些方面,特别是设计原则这块,有很多开发者都不了解这方面的知识。而第一题是很容易,但要是撸一串代码也会为难一批有十年以经验的开发者了(当然我还是有这个自信的)。 在远程口试中,对方问到了两个简单的排序,我觉得这两个排序虽然简单,但很有意思。因为

pingwangzhi的专栏 199

【数据结构与算法之面试题】数组和字符串类面试题

【数据结构与算法之面试题】数组和字符串类面试题

代码改变世界 185

算法兴趣-----求两个已排序数组的交集和并集(算法复杂度O(N+M))

算法博客:http://blog.youkuaiyun.com/beiyeqingteng/article/category/710777 问题: 给你两个排序的数组,求两个数组的交集。 比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那么交集就是 3 5. 思路: 1. 每一次从B数组中取一值,然后在A数组里逐个比较,如果有相等的,则保存。该算法复杂度

Thinking 7540
上一篇: 阿里巴巴笔试题-2个有序集合的交集
下一篇: 10月20日,世界骨质疏松日,预防为主
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值