阿里巴巴笔试题-2个有序集合的交集

Python算法——如何求两个有序集合的交集 要求: 两个有序集合,集合中每个元素都是一段范围,求其交集。例如集合{[4,8],[9,13]}和{[6,12]}的交集为{[6,8],[9,12]}。 分析: 方法一:蛮力法 最简单方法就是遍历两个集合,针对集合中每个元素判断是否有交集,如果有,则求其交集。 方法二:特征法 方法一没有利用集合有序的特点,因此,不是... 阅读详情
题目来自于论坛: http://topic.youkuaiyun.com/u/20081012/14/3cc93688-1f7f-4985-806c-3f729c78261b.html

不过我使用的是TreeSet,因为题目要求是集合
  1.   public static void test2() {
  2.     TreeSet<Integer> a = new TreeSet<Integer>();
  3.     TreeSet<Integer> b = new TreeSet<Integer>();
  4.     Random r = new Random();
  5.     for (int i = 0; i < 30; i++) {
  6.       a.add(r.nextInt(30));
  7.       b.add(r.nextInt(30));
  8.     }
  9.     a.retainAll(b);
  10.     System.out.println(a);
  11.     System.out.println(b);
  12.     System.out.println(a);
  13.   }
其中的 retainAll是JDK自带的算法,我们看一下源代码
  1.   public boolean retainAll(Collection<?> c) {
  2.     boolean modified = false;
  3.     Iterator<E> e = iterator();
  4.     while (e.hasNext()) {
  5.       if (!c.contains(e.next())) {
  6.         e.remove();
  7.         modified = true;
  8.       }
  9.     }
  10.     return modified;
  11.   }
我们能增强的没有啥东西了。那个modifed可以删掉,不过意义不大。
某阿里巴巴笔试题集第23题 废话少说了,原题集出处:http://blog.youkuaiyun.com/hackbuteer1/article/details/6902917 题目: 一个骰子,6面,1个面是 1, 2个面是2, 3个面是3, 问平均掷多少次能使1、2、3都至少出现一次。 方法: 面对面试概率题几乎屡试不爽的分叉树递归列方程法。 这是一个求数学期望的问题,最终是求1,2,3出现至少一次的最短长度的期望。 这 阅读详情

相关推荐

阿里巴巴2017秋招研发工程师笔试题

(单选题) 有个特殊的餐厅,对客人的要求是如果要离开餐厅一定要看下餐厅内有没有比你迟进来的人,一定要所有比你迟进来的人离开后你才能离开,有一天甲,乙,丙,丁四个客人先后进入了这家餐厅,那么他们离开的顺序不可能是: A、丙、乙、甲、丁 B、甲、乙、丙、丁 C、乙、甲、丙、丁 D、乙、丙、甲、丁 E、丁、丙、甲、乙 F、丁、丙、乙、甲 正确答案:E 解析: 这是一道考察出栈入栈的题,他们的进入顺序是...

2964

算法笔记:求两个有序集合的交集

问题描述 有两个有序的集合,集合中的每个元素都是一段范围,求其交集。例如集合{[4, 8],[9, 13]}和{[6, 12]}的交集是{[6, 8],[9, 12]}. 建立一个集合类 首先我们要设计一个集合类用以表示上面的集合(集合里的元素也就是通常意义下的区间).因此,建立一个集合类MySet,它包含两个属性,也就是区间的两个端点.我们分别记作mins和maxs.建立一个这样的集合是容易的....

weixin_43712228的博客 2110

阿里巴巴笔试题:数据分析与建模测试

阿里巴巴笔试题:数据分析与建模测试 请阅读以下文字答题。 Field Descriptions:isbuyer - Past purchaser of product buy_freq - How many times purchased in the past visit_freq - How many times visited website in the past buy_inter...

weixin_41089007的博客 3187

找到两个有序数组的交集

背景 对于下面两个有序set,找到出他们的交集: list1=[2,3,8,10,12] list2=[3,10,12,22] 方法 计数器;对两个list分别遍历一遍;

启示录 865

探索LLM世界:新手小白的学习路线图

通过系统的学习和实践,新手小白也能逐步掌握LLM的核心技术。掌握LLM不仅能提升个人技术水平,还能为职业发展带来广阔的前景。未来,随着技术的不断进步,LLM将在更多领域发挥重要作用,成为推动科技进步的重要力量。学习LLM是一条充满挑战但也充满机遇的道路。只要你坚持不懈、不断学习和实践,就一定能够在LLM领域取得突破。希望本文提供的学习路线图能为你指明方向,助你早日掌握LLM,开启AI学习的新篇章!

m0_62110645的博客 2360

双臂复合机器人眼在手外标定实战:从原理到D435标定流程详解

本文详细解析了双臂复合机器人中眼在手外标定的核心原理与实战流程。通过阐述坐标系转换与AX=XB方程,重点介绍了使用Intel RealSense D435相机进行标定的完整步骤,包括环境搭建、数据采集、计算与验证,并提供了关键的避坑指南,帮助工程师实现相机与机械臂基座间的精确坐标对齐。

weixin_29100927的博客 459

有序集合求交集

#

大象 490

DEAP数据集实战指南:从脑电信号到情绪分类的完整流程解析

本文提供了DEAP数据集在脑电信号情绪识别领域的完整实战指南。详细解析了数据下载、结构理解、频带功率特征提取等核心步骤,并演示了如何构建和评估机器学习分类模型,为研究者实现从原始脑电信号到情绪分类的完整流程提供了清晰路径。

jj890的博客 911

Java-两个集合取交集(4种方式)

开发难免需要对集合进行操作,例如对两个集合取交集也是常见操作。下面就列举了几种对两个集合取交集的方法。

努力搬砖,顶峰相见 6939

机器学习实战案例:使用随机森林/XGBoost等模型进行分类预测,提高银行营销活动效率

1. 项目背景介绍 在这篇文章中,我们将使用 Python 搭建逻辑回归(Logistic Regression),随机森林(Random Forest),XGBoosting,Bagging,KNN (K-Nearest Neighbors) ,神经网络(Neural Network)等6种机器学习/深度学习模型,对某个银行的营销活动数据集进行分类预测,尝试找出那些潜在客户。 银行通常会打电话给一些潜在客户来销售一些存款/投资产品,这些投资产品会使银行获得更多利润以及资金的灵活性,因此银行希望能定位那些会

Yann_YU的博客 9300

机器学习参数寻优:方法、实例与分析

机器学习模型的性能很大程度上依赖于其参数的选择。参数寻优(Hyperparameter Tuning)是提升模型表现的关键步骤之一。本文将详细介绍主流的参数寻优方法,包括网格搜索(Grid Search)、随机搜索(Random Search)、贝叶斯优化(Bayesian Optimization)、和超参数优化库(如Optuna和Hyperopt)等,并探讨它们的优缺点及适用场景。

甜盐的博客 2843

阿里巴巴笔试题

1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页? A、7                       B、8                            C、9                           D、10 2、设有一个顺

Hackbuteer1的专栏 6万+

【ROS2实体机械臂驱动】rokae xCoreSDK Python测试使用

本文记录了使用xCoreSDK-Python驱动Rokae实体机械臂的测试流程。

机器人梦想家 Bing Lee 1502

阿里巴巴历年在线笔试题汇总

阿里巴巴在线笔试题汇总2013阿里巴巴前端在线笔试题1、现有代码如下:2、如果你现在使用的是 Google Chrome 或 Apple Safari,如何让 input 元素在默认情况下显示 “alipay WD Team”,而在光标移入后则显示空白?4、请写出至少5个html5新增的标签,并说明其语义和应用场景5、在CSS样式中常使用px、em两种长度单位,各有什么优劣,在表现上有什么区别?2...

Dream_Lee的博客 2万+

如何在非序列模式下使用类似图像模功能

如何在非序列模式下使用类似图像模功能

weixin_72050316的博客 553

嵌入式系统开发笔记112:通过有人云测试MQTT

项目中使用到“有人”公司的WH-LTE-7S0模块,本文讲解通过有人云进行MQTT测试的方法。

snmplink的博客 999

阿里巴巴java方向笔试题 带详细答案

阿里巴巴java方向笔试题 带详细答案 1,下列说法正确的是() A.一个文件里可以同时存在两个public修饰的类 B.构造函数可以被重写(override) C.子类不能访问父类非public和protected修饰的属性 D.final修饰的类可以被继承 答案:C 一个不是必须要放在public类中才能运行程序。 重写是子类继承父类后对父类的方法进行修改。方法名,参数,返回值必须一样。 不能...

weixin_44026997的博客 4047

蓝牙模块HM-10手册

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

指针篇(7)- 指针运算笔试题(阿里巴巴)

指针运算相关笔试题及附加内存布局的解析

2502_91499791的博客 4325

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

分享一些阿里巴巴算法、数据工程师的笔试题以及答案

https://www.toutiao.com/a6670830469333910027/ 阿里巴巴算法、数据工程师笔试题 1、有三个结点的,可以构成多少个种叉树? 2、一副牌52张(去掉大小王),从中抽取两张牌,一红一黑的概率是多少? 编程题: 3、设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时...

喜欢打酱油的老鸟 4931

阿里巴巴java方向笔试题(出自牛客网)

阿里巴巴java方向笔试题 1.以下程序输出结果是____ class A { public: A ():m_iVal(0){test();} virtual void func() { std::cout<<m_iVal<<‘ ’;} void test(){func();} public: int m_iVal; }; cla...

weixin_44026997的博客 1120

阿里巴巴的一道笔试题

问题描述: 12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? 问题分析: 我们先把这12个人从低到高排列,然后,选择6个人排在第一排,那么剩下的6个肯定是在第二排. 用0表示对应的人在第一排,用1表示对应的人在第二排,那么含有6个0,6个1的序列,就对应一种方案. 比如000000111111就对应着 第一排:0 1 2 3

vividly的学习小站 756
上一篇: 阿里巴巴笔试题-马尔科夫(HMM)的特征
下一篇: 面试题:求2个有序数组的有序交集
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值