记录几道商汤,旷视面试手撕代码题~

非科班程序员分享商汤和旷视面试经历,涉及数组操作和图像处理算法。商汤面试题要求找出两数组中相同元素,采用排序+双指针方法;旷视一面是数组最大连续子序列和,使用动态规划解决;二面为二值化图片连通域问题,通过深度优先搜索来求解。

非科班出身,觉得还是有些难度的,可能自己刷题还不够吧,面试时基本上都是在面试官提点下写出,这里贴出来仅供参考~

商汤:

一面:输入给两个数组,一个数组内数字都是不重复的,要求输出一个数组,该数组只包含两个输入数组的所有相同元素,要求算法复杂度<O(n^2)

eg:输入[3,10,4,9,7,8]和[6,8,10,4,2,1]

        则输出[4,8,10]

思路:先排序,后双指针遍历;

#include <iostream>
#include <vector>
vector<int> find_same_num(vector<int> &a,vector<int> &b)
{
    sort(a.begin(),a.end()); //O(n*log2(n))  这里偷个懒,不写快排了
    sort(b.begin(),b.end()); //O(n*log2(n))
    vector<int> res;
    for(int i=0,j=0;i<a.size()&&j<b.size(); ){ //O(m+n)
        if(a[i]==b[j]) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值