首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从两个随机数组中获得相同数量的项目?

从两个随机数组中获得相同数量的项目可以通过以下步骤实现:

  1. 首先,生成两个随机数组,数组的长度可以根据需求进行设定。
  2. 对两个数组进行排序,可以使用任何一种排序算法,例如快速排序、归并排序等。
  3. 创建两个指针,分别指向两个数组的起始位置。
  4. 比较两个指针指向的元素,如果相等,则将该元素添加到结果数组中,并将两个指针都向后移动一位。
  5. 如果两个指针指向的元素不相等,则将较小的元素所在的数组的指针向后移动一位。
  6. 重复步骤4和步骤5,直到其中一个数组的指针到达数组末尾。
  7. 返回结果数组,即为从两个随机数组中获得相同数量的项目。

这个方法的时间复杂度为O(nlogn),其中n为两个数组的长度。

推荐腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)可以提供稳定可靠的计算资源,适用于部署和运行各类应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何两个List筛选出相同

问题 现有社保卡和身份证若干,想要匹配筛选出一一对应社保卡和身份证。 转换为List socialList,和List idList,二者找出匹配社保卡。...采用Hash 通过观察发现,两个list取相同部分时,每次都遍历两个list。那么,可以把判断条件放入Hash,判断hash是否存在来代替遍历查找。...判断key是否存在 4 //O(m,n)=2m+n=11 } 如此,假设hash算法特别好,hash时间复杂度为O(n)=n。...数据归纳法角度,n必须大于2,不然即演变程2m+2 < 2m。...事实上还要更快,因为hash还需要创建更多对象。然而,大部分情况下,n也就是第二个数组长度是大于3。这就是为什么说hash要更好写。

6.1K90

列表数组随机抽取固定数量元素组成新数组或列表

列表数组随机抽取固定数量元素组成新数组或列表 1:python版本:python里面一行代码就能随机选择3个样本 >>> import random >>> mylist=list(range...(1,10)) >>> mylist [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> newlist = random.sample(mylist, 3) #mylist随机获取3...个元素 >>> newlist [4, 7, 2] >>> newlist = random.sample(mylist, 3) #mylist随机获取3个元素 >>> newlist [4, 3...那么jQuery怎么随机选出固定数组数组[1, 2, 3, 4, 5, 6, 7, 8, 9]三个元素,并构造成新数组?...arr,随机返回num个不重复项 function getArrayItems(arr, num) { //新建一个数组,将传入数组复制过来,用于运算,而不要直接操作传入数组; var

6K10
  • 如何 100 亿 URL 找出相同 URL?

    请找出 a、b 两个文件共同 URL。 解答思路 每个 URL 占 64B,那么 50 亿个 URL占用空间大小约为 320GB。...使用同样方法遍历文件 b,把文件 b URL 分别存储到文件 b0, b1, b2, ..., b999 。...这样处理过后,所有可能相同 URL 都在对应小文件,即 a0 对应 b0, ..., a999 对应 b999,不对应小文件不可能有相同 URL。...那么接下来,我们只需要求出这 1000 对小文件相同 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合。...然后遍历 bi 每个 URL,看在 HashSet 集合是否存在,若存在,说明这就是共同 URL,可以把这个 URL 保存到一个单独文件

    2.9K30

    【算法面试题】两个长度相同,元素为随机整数无序数组,交换位置,使得两个数组差值最小。

    面试岗位是后端java岗位,但是笔试题好像都是统一一套,其中也涉及到了一些前端及JS一些问题,其中前端问题印象较深如何加速一个网站或者网页?...最后是一道算法题:两个长度相同,元素为随机整数无序数组,交换位置,使得两个数组差值最小?没有手写算法经验,所以直接给跪了。 回到家,打开笔记本记录一下。.../** * 有两个数组a,b,大小都为n,数组元素为任意整数,无序 * 要求:通过交换a,b元素,使[数组a元素和]与[数组b元素和]之间差绝对值最小。...* 2、分别在两个数组找出一个数据,使得这两个数据差值最接近数组差值,然后记录坐标 * 3、交换两个坐标的数据,然后递归执行此过程。...* 4、当数组和相等时,又或者是两个数组找不到元素差值小于数组和差值数据时得出最终结果 */ public static void calculate(int[] array, int

    1.3K10

    面试:如何 100 亿 URL 找出相同 URL?

    ---- 来源:8rr.co/FR7V 题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同 URL。...使用同样方法遍历文件 b,把文件 b URL 分别存储到文件 b0, b1, b2, ..., b999 。...这样处理过后,所有可能相同 URL 都在对应小文件,即 a0 对应 b0, ..., a999 对应 b999,不对应小文件不可能有相同 URL。...那么接下来,我们只需要求出这 1000 对小文件相同 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合。...然后遍历 bi 每个 URL,看在 HashSet 集合是否存在,若存在,说明这就是共同 URL,可以把这个 URL 保存到一个单独文件

    4.5K10

    面试:如何 100 亿 URL 找出相同 URL?

    来源:8rr.co/FR7V 题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同 URL。...使用同样方法遍历文件 b,把文件 b URL 分别存储到文件 b0, b1, b2, ..., b999 。...这样处理过后,所有可能相同 URL 都在对应小文件,即 a0 对应 b0, ..., a999 对应 b999,不对应小文件不可能有相同 URL。...那么接下来,我们只需要求出这 1000 对小文件相同 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合。...然后遍历 bi 每个 URL,看在 HashSet 集合是否存在,若存在,说明这就是共同 URL,可以把这个 URL 保存到一个单独文件

    2.3K20

    面试经历:如何 100 亿 URL 找出相同 URL?

    题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同 URL。...使用同样方法遍历文件 b,把文件 b URL 分别存储到文件 b0, b1, b2, ..., b999 。...这样处理过后,所有可能相同 URL 都在对应小文件,即 a0 对应 b0, ..., a999 对应 b999,不对应小文件不可能有相同 URL。...那么接下来,我们只需要求出这 1000 对小文件相同 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合。...然后遍历 bi 每个 URL,看在 HashSet 集合是否存在,若存在,说明这就是共同 URL,可以把这个 URL 保存到一个单独文件

    1.9K00

    如何Bash脚本本身获得其所在目录

    问: 如何Bash脚本本身获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ..../application 答: 咱们容易想到方法是使用 dirname "$0"。 #!...但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...)]" echo "dirname : [$(dirname $(realpath "$0") )]" 参考: stackoverflow question 59895 相关阅读: 在shell编程$.../(点-斜杠),以便在bash运行它 shell脚本对编码和行尾符敏感吗

    33720

    如何复盘获得真正收获?持续改进是关键!

    通过复盘,当类似局面再次出现,你就能快速预测接下来动态走向,更好应对。 项目复盘会则是 项目团队有意识过去行为经验,进行集体学习过程。...一般在项目或里程碑完结后,由项目经理组织召集项目成员,一起回顾项目整个历程,团队做对哪些事,做错哪些事,再来一次,如何做更好,沉淀该项目产生集体智慧。...如何做好项目复盘,如何通过复盘去培养团队持续改进能力? 1 复盘会基调设定 复盘会前,想清楚复盘目的,设定好复盘基调,更重要。 曾组织过复盘“坑爹功能”大搜罗。...这样每个人都会小心避开自己问题,转而说别人问题,复盘失去意义。 如何设定开放基调 自己要先进入反思区。 在那次复盘会之前,我跟这个部门负责人,就部门反复出现各种问题,进行过多次深度沟通。...这次复盘会,项目经理工作得到一致认可,包括Bug Bash引入、WBS工作分解、进度控制等措施,帮助团队快速混乱到有序。

    41142

    PowerBI 被吊打,如何数据获得切实可行商业见解

    ,且功能本身是安全稳定; Zebra BI 已经获得强大生命力,不必担心它突然不运转。...,将您 Power BI 报告提升到一个新水平,并在创纪录时间内数据中提供切实可行洞察力。...只需一个控件,多种模式切换 在 Power BI Zebra BI,目前有图和表两个控件(截止到:2021 年 12 月 12 日 版本 5.1),因此无需大量控件,这的确需要设计哲学来支撑这种简约...原生支持智能批注匹配 Zebra BI 还支持将批注与具体呈现完美整合。如下(动画): 用户不但知道生意好坏,还可以立马聚焦在出问题地方并获得解释,以便了解更清晰故事。...(这个表情好符合这里场景有没有) Zebra BI 商业案例,不难发现站在巨人身上,哪怕你多做一点,都感觉你比巨人高了,当然巨人本身还是巨人。

    3.1K50

    如何有序数组中找到和为指定值两个元素下标

    如何有序数组中找到和为指定值两个元素下标?...2, 7, 17, 26, 27, 31, 41, 42, 55, 80} target=72.求得值为17和55,对应下标为:2,8 思考下,只要将元素自己与后面的所有元素相加计算一下,就能找到对应两个值...换个思路,在这个有序数组,可以使用2个指针分别代表数组两侧两个目标元素.目标数组两侧,向中间移动;当两个指针指向元素计算值,比预定值target小了,那左侧指针右移下,重新计算;当计算值大于target...时,右侧指针左移下,直到两个元素和与target相等.这种方法叫做搜索空间缩减,这也是这道题关注点.这种方法时间复杂度只有O(2*n)(非严谨说法),是非常高效一种方法了....一起看下指针如何移动, 1. 2+80>72,j左移; 2. 2+55<72,i右移 3. 7+55<72,i右移 4. 17+55=72,计算结束 可见,两个指针只移动了3次,就计算出结果

    2.3K20

    银行业大数据:银行如何客户数据获得更大价值?

    同样,许多非银行做出了更轻松生活,引入个性化钱包,让客户购买直接他们登录和获得难以置信折扣和优惠。...这种ATM钱包功能就像一个真正借记账户,带来每年超过一百万用户。 非金融性公司不断崛起,照顾消费者金融业务是一个严重威胁,而且这种差距需要尽早封闭。 银行如何能从客户数据获得更大价值?...只是给互联网金融期权是不够;必须有客户银行利润最大化一些例外创新。现有基础和后发优势银行能带来更好结果。 银行需要综合业务与新数字设备和给客户一个清晰了解,如何在哪里买。...它目的是将数据在线和离线路线流入银行CRM解决方案,为员工提供相关线索。这提高了超过100%转化率,为消费者提供更加个性化体验。...欧洲银行:中层欧洲银行最近开发出一种“储蓄倾向”模式,让消费者投资节能产品节能率计算为大约1500000客户。该模型已经产生在两个时间在转换增长率增加200%。

    3.1K50

    银行业大数据:银行如何客户数据获得更大价值?

    同样,许多非银行做出了更轻松生活,引入个性化钱包,让客户购买直接他们登录和获得难以置信折扣和优惠。...这种ATM钱包功能就像一个真正借记账户,带来每年超过一百万用户。 非金融性公司不断崛起,照顾消费者金融业务是一个严重威胁,而且这种差距需要尽早封闭。 银行如何能从客户数据获得更大价值?...只是给互联网金融期权是不够;必须有客户银行利润最大化一些例外创新。现有基础和后发优势银行能带来更好结果。 银行需要综合业务与新数字设备和给客户一个清晰了解,如何在哪里买。...它目的是将数据在线和离线路线流入银行CRM解决方案,为员工提供相关线索。这提高了超过100%转化率,为消费者提供更加个性化体验。...欧洲银行:中层欧洲银行最近开发出一种“储蓄倾向”模式,让消费者投资节能产品节能率计算为大约1500000客户。该模型已经产生在两个时间在转换增长率增加200%。

    2.2K10

    - 长度为mint数组随机取出n个元素,每次取元素都是之前未取过

    题目:长度为mint数组随机取出n个元素,每次取元素都是之前未取过 Fisher-Yates洗牌算法是由 Ronald A.Fisher和Frank Yates于1938年发明,后来被Knuth...用洗牌算法思路1、2、3、4、5这5个数随机取一个数 4被抽中概率是1/5 5被抽中概率是1/4 * 4/5 = 1/5 2被抽中概率是1/3 * 3/4 *...list.size() * Math.random()); System.out.println(list.remove(t)); } } ---- Knuth洗牌算法 在上面的介绍发牌过程..., Knuth 和 Durstenfeld 在Fisher 等人基础上对算法进行了改进,在原始数组上对数字进行交互,省去了额外O(n)空间。...该算法基本思想和 Fisher 类似,每次从未处理数据随机取出一个数字,然后把该数字放在数组尾部,即数组尾部存放是已经处理过数字。

    1.7K10

    Python中使用deepdiff对比json对象时,对比时如何忽略数组多个不同对象相同字段

    最近忙成狗了,很少挤出时间来学习,大部分时间都在加班测需求,今天在测一个需求时候,需要对比数据同步后数据是否正确,因此需要用到json对比差异,这里使用deepdiff。...一般是用deepdiff进行对比时候,常见对比是对比单个json对象,这个时候如果某个字段结果有差异时,可以使用exclude_paths选项去指定要忽略字段内容,可以看下面的案例进行学习:...上面的代码是一般单条数据对比情况。...从上图可以看出,此时对比列表元素的话,除非自己一个个去指定要排除哪个索引下字段,不过这样当列表数据比较多时候,这样写起来就很不方便,代码可读性也很差,之前找到过一个用法,后来好久没用,有点忘了,今晚又去翻以前写过代码记录...这里对比还遇到一个问题,等回头解决了再分享: 就这种值一样,类型不一样,要想办法排除掉。要是小伙伴有好方法,欢迎指导指导我。

    79420

    【面经】面试官:如何以最高效率MySQL随机查询一条记录?

    或者小伙伴们可以提前预定我新书《MySQL技术大全:开发、优化与运维实战》。好了,说了这么多,今天给大家分享一篇有关MySQL经典面试题:如何以最高效率MySQL随机查询一条记录?...面试题目 如何MySQL一个数据表查询一条随机记录,同时要保证效率最高。 从这个题目来看,其实包含了两个要求,第一个要求就是:MySQL数据表查询一条随机记录。...接下来,我们就来尝试使用各种方式来MySQL数据表查询数据。...亦即,你记录有多少条,就必须首先对这些数据进行排序。 方法二 看来对于大数据量随机数据抽取,性能症结出在ORDER BY上,那么如何避免?方法二提供了一个方案。...然后执行: SELECT * FROM foo LIMIT [0到num_rows之间一个随机数],1 上面这个随机获得可以通过后台程序来完成。此方法前提是表ID是连续或者自增长

    3.3K20

    面试官甄别项目经验角度,说说如何在简历项目经验(java后端方向)

    1 你项目如何部署在什么环境上?发布流程是什么?如果出现线上问题,如何排查?...3 商业项目如果写得很敷衍,就会被当成学习项目(简历商业项目该怎么写) 针对之前讲述甄别方式,这里会给出若干在简历写商业项目的技巧,一方面,如果很敷衍地写,你项目经验就会被当成学习项目,...1 讲清楚必要要素,比如项目周期,人数,项目名,客户是谁,用到什么技术,但就凭这点,无法证明是商业项目。 2 讲清楚部署和上线方式,比如在云端,或linux上如何部署,用到哪些命令?...3 我知道不少网站能提供项目,不要多,就运行通一两个即可,但其中需要包含java全栈技能,因为这些项目有足够多指导文档,调试通过应该不难,这绝对可以算学习项目。...3 异常处理、数据库批处理优化、数据库索引、设计模式甚至虚拟机调优角度,写下项目的实现细节,这块属于基本jdk和数据库知识点,也应该不难实现。

    2.3K20
    领券