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

给定一个数字N和大小为N的排序顺序的2个数组A和B,打印公共elements.If it not found print -1

题目要求打印两个数组A和B中的公共元素,如果没有找到则打印-1。

为了解决这个问题,可以使用一个哈希集合来存储数组A中的所有元素,然后遍历数组B,检查每个元素是否存在于哈希集合中。如果存在,则将该元素打印出来。

以下是具体的实现代码:

代码语言:txt
复制
def find_common_elements(A, B):
    # 创建一个哈希集合,用于存储数组A中的元素
    elements_set = set(A)
    common_elements = []
    
    # 遍历数组B,检查每个元素是否存在于哈希集合中
    for num in B:
        if num in elements_set:
            common_elements.append(num)
    
    # 如果存在公共元素,则打印出来
    if common_elements:
        print("公共元素为:", common_elements)
    else:
        print("-1")

# 测试案例
A = [1, 2, 3, 4, 5]
B = [4, 5, 6, 7, 8]
find_common_elements(A, B)

执行以上代码会输出:公共元素为: [4, 5]

在这个问题中,公共元素的查找可以在O(N)的时间复杂度内完成,其中N是数组的大小。

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

相关·内容

刷题-给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数

题目:给定两个大小为 m 和 n 的数组 nums1 和 nums2。 请你找出这两个有序数组的中位数 方法:很简单的办法就是利用list的函数来实现。...如果没有别的要求下,这么实现是最简单的方式,也是最快的方式,对list合并排序掌握的十分合理。.../ 2 print(Solution().findMedianSortedArrays([3],[-2,-1])) 发现做题其实不难,难的可能是最后的解法,我感觉上面的解法,存在的bug的...) / 2 print(Solution().findMedianSortedArrays([],[-2,-1])) 对第二种方案进行了优化调整。...可能后续的刷题,我将会改变到原来的方式去实现。python和java的实现代码都有。

84210
  • 2024-12-30:所有球里面不同颜色的数目。用go语言,给定一个整数 limit 和一个大小为 n x 2 的二维数组 qu

    2024-12-30:所有球里面不同颜色的数目。用go语言,给定一个整数 limit 和一个大小为 n x 2 的二维数组 queries,其中包含若干操作。...在每次操作后,我们需要计算并返回所有球中不同颜色的数量。 请返回一个长度为 n 的数组 result,该数组的第 i 个元素表示第 i 次操作后不同颜色的总数。...3.遍历操作数组 queries,对每个操作进行处理: 3.a. 获取操作中的球编号 x 和颜色 y。 3.b....总的时间复杂度取决于操作次数n和limit的数量,程序中需要遍历所有的操作,故时间复杂度为O(n)。...额外空间复杂度主要由映射表 color 和 cnt 以及结果数组 ans 所占空间决定,因为这里的颜色数量是有限的,最坏情况下额外空间也是有限的,所以空间复杂度为O(1)。

    6020

    大厂面试系列(七):数据结构与算法等

    链表找环的入口 单链表的逆序 两个链表合并,最长公共子串问题 单链表逆序,快排,数组中找两个数和等于目标值 数组 在M个大小的数组中找到第K大的数(最大堆) 我现在有一个数组[1,2,3,4],请实现算法...不用类库函数,对这两个数组排序。 给定一个数组,求该数组所有的自子数组 去掉一个字符串中的所有空格 给定一个数组,元素的大小0~25,有重复元素。...按出现频次的高低输出所有的数字 给定一个乱序数组,求数组内最大连续的数; 无序数组找第k大的数 给一个数组,和k,求数组中的哪两个数之和为k,除了双层for循环和字典的方式还能用什么方式实现; 查找 写二分查找算法...给一个二叉树和一个目标值,找到和等于这个值的所有路径 B和B+树,B+树的搜索次数、为什么不用二叉树。 红黑树最差旋转几次 给定一棵二叉树,找到两个节点的最近公共父节点(LCA)。...俩线程分别持续打印奇数和偶数,实现俩线程的交替打印(从小到大) 给定一个经过编码的字符串,返回它解码后的字符串。

    1.2K20

    800道面试题和43道JAVA算法数据结构面试题

    1、题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。...(子向量的长度至少是1) 代码: 5、题目: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。...(注:小朋友的编号是从0到n-1) 11、题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。...给定一个int数组A及数组的大小n,请返回每个元素所求的值组成的数组。保证A中元素为正整数,且n小于等于1000。...请设计一个算法,求出a和b点的最近公共祖先的编号。 给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。

    1.2K50

    python递归函数讲解_Python递归函数实例讲解

    ) return print (‘*’*n) digui(n-1) if __name__ == ‘__main__’: digui(5) 这里递归打印*号,先打印后递归 2、F5运行程序,打印内容如下...; ***** **** *** ** 3、更改一下打印和递归的 顺序,先递归后打印,代码如下: def digui(n): if n == 0 : print (”) return digui(n-1...直到n==0时候返回。 6、F5运行程序,打印累加结果15 上面就是关于Python递归函数的相关知识点,感谢大家的阅读和对我们的支持。...(来源 二分查找算法:简单的说,就是将一个数组先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如target,查找target在数组中的位置时,可以先找到数组中间的数array[middle]...]:1.必须采用顺序存储结构 2.必须按关键字大小有序排列.

    3.4K20

    剑指Offer题解

    不修改数组找出重复的数字 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少存在一个数字是重复的。 请找出数组中任意一个重复的数字,但不能修改输入的数组。...public class Sl { /** * 思路:二路计数,由于n+1长度的数组都在1-n之间,所以可以用区间个数来找重复的数 * 比如,如果数组长度为8,则数字都在1...* * 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。...} } 二维数组中的查找 /** * 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。...选取数组右上角的数字nums[0][n-1],比较target和nums[0][n-1]的大小。

    42611

    LeetCode-剑指offer

    在排序数组中查找数字 I 题目 统计一个数字在排序数组中出现的次数。...1中缺失的数字 题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。...二维数组中的查找 题目 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。...空间复杂度 O(1) : 双指针 i, j 使用常数大小的额外空间。 57. 和为s的两个数字 题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。...第 16 天 排序(简单) 45.把数组排成最小的数 题目 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。

    1.3K20

    66道前端算法面试题附思路分析助你查漏补缺

    1. 二维数组中的查找 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。...(2)利用排序算法实现,但是比较时,比较的并不是两个元素的大小,而是两个元素正序拼接和逆序拼接的大小,如果逆序拼接的 结果更小,则交换两个元素的位置。排序结束后,数组的顺序则为最小数的排列组合顺序。...输入一个数组,求出这个数组中的逆序对 的总数 P。 思路: (1)第一种思路是直接求解的方式,顺序扫描整个数组。每扫描到一个数字的时候,逐个比较该数字和它后面的数字的大小。...这一种方法相对于上一种方法来说不需要 额外的内存空间。 51. 构建乘积数组 题目: 给定一个数组 A[0,1,...,n-1],请构建一个数组 B[0,1,......如果数据 流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 64. 滑动窗口中的最大值(待深入理解) 题目: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。

    1.8K20

    python 面试题-收集100+面试题笔试题

    1.13判断奇数偶数 给定一个数a,判断一个数字是否为奇数或偶数 a1 = 13 a2 = 10 1.14判断一个姓名是否姓王 输入一个姓名,判断是否姓王 a = “王五” b = “老王” 1.15判断是不是数字...”, 1] 3.2列表切片 如果有一个列表a=[1,3,5,7,11] 问题:1如何让它反转成[11,7,5,3,1] 2.取到奇数位值的数字,如[1,5,11] 3.3列表大小排序 问题:对列表a 中的数字从小到大排序...’, ‘more’, ‘my’, ‘ability’, ‘are’, ‘so’, ‘poor’ ] 3.22 列表查找元素位置 给定一个整数数组A及它的大小n,同时给定要查找的元素val, 请返回它在数组中的位置...nums 和一个目标值target ,请你在该数组中找出和为目标值的那两个整数,并返回他 们的数组下标。...分别打印这些三位数的组合 5.2 冒泡排序 a = [11, 2, 33, 1, 5, 88, 3] 冒泡排序: 依次比较两个相邻的元素,如果顺序(如从小到大、首字母从A到Z) 错误就把他们交换过来 5.3

    7K20

    剑指Offer

    1.找出数组中重复的数字 1.找出数组中重复的数字 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0 \sim n - 1的范围内。...不修改数组找出重复的数字 2.不修改数组找出重复的数字 给定一个长度为 n + 1的数组nums,数组中所有的数均在 1 \sim n 的范围内,其中 n \ge 1。...1中缺失的数字 56. 0到n-1中缺失的数字 一个长度为 n-1 的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围 0 到 n-1 之内。...和为S的两个数字 63. 和为S的两个数字 输入一个数组和一个数字 s,在数组中查找两个数,使得它们的和正好是 s。 如果有多对数字的和等于 s,输出任意一对即可。...滑动窗口的最大值 67. 滑动窗口的最大值 给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。

    65620

    2023-02-16:两种颜色的球,蓝色和红色,都按1~n编号,共计2n个, 为方便放在一个数组中,红球编号取负,篮球不变,并打乱顺序, 要求同一种颜色的球按编

    2023-02-16:两种颜色的球,蓝色和红色,都按1~n编号,共计2n个,为方便放在一个数组中,红球编号取负,篮球不变,并打乱顺序,要求同一种颜色的球按编号升序排列,可以进行如下操作:交换相邻两个球,...3,-3,1,-4,2,-2,-1,4、最终交换结果为:1,2,3,-1,-2,-3,-4,4。最少交换次数为10,n b = 0; for i in 0..n { if arr[i as usize] > 0 { top_a = get_max(top_a,...(i, 1); } return f(top_a, top_b, &mut it, n - 1, &mut map);}// 可以改二维动态规划!...// 因为it的状态,只由topA和topB决定// 所以it的状态不用作为可变参数!

    32600

    数组的全排列

    给定一个n个元素数组,其全排列的过程可以描述如下: (1)任意取一个元素放在第一个位置,则有n种选择; (2)再剩下的n-1个元素中再取一个元素放在第二个位置则有n-1种选择,此时可以看做对n-...所谓的字典序就是按照元素的大小对形成排列进行排序。比如{1,2,3}和{1,3,2},因为前一个排列的第二元素2是小于后一个排列的第二元素3,所以前一个排列排在前面,后一个排列排在后面。...3.3字典序生成全排列的基本过程 给定数组A[N],那么使用字典序输出全排列的方法基本过程描述如下: (1)将A按元素大小递增排序,形成字典序最小的排列; (2)左起从A[0]开始寻找最后一个元素...[k]与A[i]; (5)对于a[k+1,n-1],反转该区间内元素的顺序,即a[k+1]与a[n]交换,a[k+2]与a[n-1]交换,……,这样就得到了a[1…n]在字典序中的下一个排列。...{ return *(int*)(a)-*(int*)(b);//如果小于0,a排在前面b前面 } //字典序实现数组全排列并打印 void permutation(int array[],int

    3.2K10

    Python 练习100题---No.(1-20)---附其他题目解答链接

    (x - 1) x=int(raw_input()) print fact(x) 3、问题:  对于给定的整数n,编写一个程序来生成一个字典,其中包含(i,i*i)这样一个介于1和n之间的整数(两者都包括在内...','.join(value) 7、问题: 编写一个以2位X,Y为输入,生成二维数组的程序。...multilist 8、问题: 编写一个程序,接受以逗号分隔的单词序列作为输入,并在按字母顺序排序后以逗号分隔的序列打印单词。 ...sentence 10、问题: 编写一个程序,接受一系列空格分隔的单词作为输入,并在删除所有重复的单词并按字母数字顺序排序后打印这些单词。 ...获得的数字应以逗号分隔的顺序打印在一行上。

    1.2K20

    剑指Offer 23-44题(Python版)

    (ans) 24.二叉树中和为某一值的路径 题目:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。...例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。...题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。...:统计一个数字在排序数组中出现的次数。...(ans) 42.和为S的两个数字 题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。

    66630

    普林斯顿算法讲义(一)

    s.isEmpty()) System.out.print(s.pop()); System.out.println(); 答案:打印N的二进制表示(当n为50时为110010)。...暴力 3-sum 算法使用*~ N³ / 2* 数组访问来计算在 N 个数字中总和为 0 的三元组的数量。 设计更快的算法。 研究程序增长顺序的一个主要原因是帮助设计更快的算法来解决相同的问题。...给定两个包含 N 个 64 位整数的数组,设计一个算法来打印出两个列表中都出现的所有元素。输出应按排序顺序排列。你的算法应在 N log N 时间内运行。提示:归并排序,归并排序,合并。...SortCompare.java 使用命令行参数中命名的类中的sort()方法执行给定数量的实验(对给定大小的数组进行排序),并打印算法观察运行时间的比率。 可视化排序算法。...考虑以下基于交换的排序算法:随机选择两个索引;如果 a[i]和 a[j]是一个逆序,交换它们;重复。证明对大小为 N 的数组进行排序的预期时间最多为 N² log N。

    13210

    python的numpy入门简介

    isnan 返回一个表示“哪些值是NaN(这不是一个数字)”的布尔型数组 isfinite, isinf 分别返回一个表示“哪些元素是有限的(非inf,非NaN)”或“哪些元素是 无穷的”的布尔型数组..., floor_divide 除法或向下取整除法 power 对第一个数组中的元素A和第二个数组中对应位置的元素B,计算A^B。...y np.abs(z-a).argmin()   z为数组,a为数,找出数组中与给定值最接近的数 利用数组进行数据处理 数学和统计方法 • 数学和统计方法 类型 说明 sum() 对数组中全部或某轴向的元素求和...intersect1d(x, y) 计算x和y中的公共元素,并返回有序结果。 union1d(x, y) 计算x和y的并集,并返回有序结果。...(N)] print np.random.normal(size = N)  # 与上面代码等价 高级应用 数组重塑 • reshape重塑数组 • -1自动推导维度大小 arr.reshape((4,

    1.4K30

    全排列(LeetCode 46)

    1.问题描述 给定一个不含重复数字的数组 nums ,返回其所有可能的全排列 。你可以按任意顺序返回答案。 数组的全排列可用于求解八皇后问题,具体参见:全排列解决八皇后问题。...给定一个n个元素数组,其全排列的过程可以描述如下: (1)任意取一个元素放在第一个位置,则有n种选择; (2)再剩下的n-1个元素中再取一个元素放在第二个位置则有n-1种选择,此时可以看做对n-1个元素进行全排列...所谓字典序就是按照元素大小对排列进行排序。比如 {1,2,3} 和 {1,3,2},因为前一个排列的第二数 2 小于后一个排列的第二数 3,所以前一个排列排在前面。...字典序生成全排列的思想是:先从最小的排序开始,依次寻找字典序中下一个排列。 寻找字典序中下一个排列的关键就在于寻找「交换点」和「交换数」。...优缺点 优点: (1)使用迭代的方式,避免了递归实现的函数栈空间的大量消耗和函数调用的时间开销。 (2)无需考虑数组中出现的重复元素。 缺点: (1)对数组的排序,增加了时间开销。

    8400

    《剑指Offer》50道算法面试题

    1到最大的n位数 面试题13:在O(1)的时间删除链表结点 面试题14:调整数组顺序使奇数位于偶数前面 面试题15:链表中倒数第k个结点 面试题16:反转链表 面试题17:合并两个排序的链表 面试题18...29:数组中出现次数超过一半的数字 面试题30:从n个整数中找出最小的k个数 面试题31:连续子数组的最大和 面试题32:从1到n的整数中1出现的次数 面试题33:把数组排成最小数 面试题34:求第n个丑数...面试题35:第一个只出现一次的字符 面试题36:数组中的逆序对 面试题37:两个链表第一个公共结点 面试题38:数字在排序数组中出现的次数 面试题39.1:二叉树的深度 面试题39.2:判断二叉树是否为二叉平衡树...面试题40:数组中只出现一次的数字(除两个数字外,其余都出现两次) 面试题41.1:递增排序数组中查找和为s的两个数 面试题41.2:打印出和为s的连续正数序列 面试题42.1:翻转单词顺序,但单词中字符顺序不变...面试题42.2:实现字符串左旋转功能 面试题43:打印出n个骰子点数s所有可能出现的概率 面试题44:随机抽5张牌是不是连续的(大小王可看成任意数字) 面试题45:圆圈中最后剩下的数字 面试题46:不使用乘除

    2.8K20
    领券