客路笔试+众安笔试(编程部分)
#客路2025全球产研实习生招聘# 客路笔试
1、输入一个正整数n,计算符合条件的三元组 (a, b, c)的个数,其中 a * b, a * c, 和 b * c 都是完全平方数,且1 <= a < b < c < n。
目前的时间复杂度太高,预先计算所有完全平方数的集合,遍历所有的三元组 (a, b, c),确保 a < b < c。
2、给定一组(n x n)二维数组,可以左右翻转一些行来达到每列的数都不重复吗?如果可以就输出&quot;Yes&quot;并输出需要交换的行号,如果不可以就输出&quot;No&quot;,每行最多翻转一次。
通过使用 HashSet 跟踪每一列的唯一元素,能够快速检测重复项。定义resetSets函数用于在翻转行后更新set里的值。结果不对。
众安保险笔试
1、小红拿到了一个n行n列的矩阵,她每次操作可以将一个元素加1。小红想知道,自己最少操作多少次之后,可以使得矩阵变成好矩阵?好矩阵的定义:当一个矩阵顺时针旋转0度、90度、180度、270度时,所得到的矩阵是相同的。
这个题我想的是只考虑矩阵的左上四分之一部分,然后将其余部分调整为与这部分对称,遍历四个对称位置取最大值,计算最大值与四个位置值的差,再对差求和。结果只对了1/6,不太明白。
2、街边有n个行人,每个人有一个初始朝向a∈{0,1}。a_i=0代表他向左行走,a_i=1代表她向右行走。第i个人的坐标为x_i,行走速度均相同,且不存在两个人的初始位置重合。在经过了足够漫长的时间后,有一些人会相遇。一次相遇即:在某一时刻,两个人的坐标重合。
这个题我只会将行人分为向左和向右两组,然后双循环挨个比较,结果一半多超时了。
一天做两个笔试,已经裂开了,关键是被狠狠地打击了
。顺便问问大伙思路。
顺便问问大伙思路。
1、输入一个正整数n,计算符合条件的三元组 (a, b, c)的个数,其中 a * b, a * c, 和 b * c 都是完全平方数,且1 <= a < b < c < n。
目前的时间复杂度太高,预先计算所有完全平方数的集合,遍历所有的三元组 (a, b, c),确保 a < b < c。
2、给定一组(n x n)二维数组,可以左右翻转一些行来达到每列的数都不重复吗?如果可以就输出&quot;Yes&quot;并输出需要交换的行号,如果不可以就输出&quot;No&quot;,每行最多翻转一次。
通过使用 HashSet 跟踪每一列的唯一元素,能够快速检测重复项。定义resetSets函数用于在翻转行后更新set里的值。结果不对。
众安保险笔试
1、小红拿到了一个n行n列的矩阵,她每次操作可以将一个元素加1。小红想知道,自己最少操作多少次之后,可以使得矩阵变成好矩阵?好矩阵的定义:当一个矩阵顺时针旋转0度、90度、180度、270度时,所得到的矩阵是相同的。
这个题我想的是只考虑矩阵的左上四分之一部分,然后将其余部分调整为与这部分对称,遍历四个对称位置取最大值,计算最大值与四个位置值的差,再对差求和。结果只对了1/6,不太明白。
2、街边有n个行人,每个人有一个初始朝向a∈{0,1}。a_i=0代表他向左行走,a_i=1代表她向右行走。第i个人的坐标为x_i,行走速度均相同,且不存在两个人的初始位置重合。在经过了足够漫长的时间后,有一些人会相遇。一次相遇即:在某一时刻,两个人的坐标重合。
这个题我只会将行人分为向左和向右两组,然后双循环挨个比较,结果一半多超时了。
一天做两个笔试,已经裂开了,关键是被狠狠地打击了
顺便问问大伙思路。
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享


点赞 评论 收藏
分享
点赞 评论 收藏
分享