拼多多算法笔试

算法岗位:
1. 数组低谷长度
2. 重复字符串
3. 最小到达目标步数
4. 靓号
第一道卡在了输入上,很气,一直20%,后来发现是0就过了20%。
第二三道,100%
第四道,直接放弃了。
有没有小伙伴分享下第四题的AC思路。
分享下代码,求个人品能过笔试。
1. 第一道用三个指针记录 left low right,输入问题没过,代码就不放了。
2. 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char str_s[100] = {0};
    char str_p[100] = {0};
    int str_s_len = 0, str_p_len = 0;
    scanf("%s", str_s);
    str_s_len = strlen(str_s);

    for (int i = 1; i <= str_s_len; ++i)//len
    {
        int j = 0;
        for (j = i; j < str_s_len; j = j + i)//start
        {
            int k = 0;
            for (k = j; k < ((j + i) > str_s_len ? str_s_len : (j + i)); ++k)
            {
                if (str_s[k] != str_s[k - i])
                {
                    break;
                }
            }
            if (k < ((j + i) > str_s_len ? str_s_len : (j + i)))
                break;
        }
        if (j >= str_s_len)//find!
        {
            memcpy(str_p, str_s, i);
            str_p_len = i;
            break;
        }
    }
    printf("%s\n", str_p);

    return 0;
}

3. 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
    int target = 0;
    scanf("%d", &target);
    int sum = 0;
    int steps = 0;
    int loop_cnt = pow(10, 9);
    target = (target > 0 ? target : -target);
    for (int i = 0; i < loop_cnt; ++i)
    {
        sum += i;
        if (sum > target)
        {
            int bias = sum - target;
            if (bias % 2 == 0)
            {
                steps = i;
                break;
            }
        }else
        if (sum == target)
        {
            steps = i;
            break;
        }
    }
    printf("%d\n", steps);
    return 0;
}

#拼多多#
全部评论
谢谢分享,第1道我开始也是20%,后来考虑了相等的条件后50%,不过没考虑数组为空的情况。
点赞 回复 分享
发布于 2018-07-22 22:37
可以讲解一下第三题的思路吗
点赞 回复 分享
发布于 2018-07-22 22:12
第三题能说一下为什么差值为偶数时steps = i 呀
点赞 回复 分享
发布于 2018-07-22 22:12
同样不懂第一题的输入怎么回事,一直报数组越界,求解答,就是逗号分隔的数组吗?
点赞 回复 分享
发布于 2018-07-22 22:11
第2题过了88.89%,大佬知道可能什么测试用例没考虑到吗?
点赞 回复 分享
发布于 2018-07-22 22:03

相关推荐

自动驾驶方向(超详细真题+复盘)🔥&nbsp;个人背景:985本硕,一段自动驾驶相关实习,刚走完文远知行算法岗(感知方向)的全流程,热乎的面经分享!📌&nbsp;面试流程概览笔试:4道编程题(中等难度,动态规划+图遍历为主)。技术一面:代码手撕&nbsp;+&nbsp;项目深挖(50分钟)。技术二面:数学题&nbsp;+&nbsp;场景设计题(40分钟)。技术三面(总监面):技术视野&nbsp;+&nbsp;业务理解(30分钟)。HR面:常规问题(薪资/职业规划)。全程周期:约3周(中间有等美国面试官时差协调)。💻&nbsp;技术面真题回忆1.&nbsp;手撕代码题题目1:零钱兑换变种题干:给定硬币面额数组和总金额,求恰好凑成金额的最少硬币数,若无法凑出返回-1。Follow-up:如果要求输出所有可能的组合,如何优化空间?坑点:面试官追问了滚动数组优化和剪枝策略。题目2:线段交点算法题干:给定二维平面上两条线段(由端点坐标表示),判断是否相交,若相交返回交点坐标。边界情况:线段平行但不重合、端点重合、浮点数精度处理。解法:参数方程法,注意分母为0的情况!题目3(系统设计):实现&nbsp;shared_ptr&nbsp;的引用计数要求:线程安全、支持拷贝构造和赋值操作。考点:RAII思想、锁的使用(面试官让对比mutex和atomic的性能差异)。2.&nbsp;项目深挖问题问题1:你在点云处理项目中提到的循环推断问题是什么?如何解决?答:详细解释了OD(目标检测)与跟踪模块的相互依赖导致误差累积,最后引入卡尔曼滤波的先验估计做修正。追问:为什么不用粒子滤波?对比过效果吗?问题2:激光雷达与相机的时间戳不同步,会导致哪些问题?你们怎么做的同步?答:提到了硬件触发同步+软件插值法,面试官让手写伪代码描述插值逻辑。3.&nbsp;场景设计题题目:设计一个停车场车辆调度系统,支持实时路径规划(车辆从入口到车位的最优路径)。要求:如何表示停车场地图?如何处理动态障碍物(如行人)?路径最优的定义(时间最短&nbsp;vs&nbsp;转向最少)?我的思路:用栅格地图+A算法,动态障碍物用局部重规划(D&nbsp;Lite),面试官让分析时间复杂度。🚀&nbsp;备考建议(血泪总结)刷题重点:力扣动态规划(背包问题)、几何计算题(线段/矩形相交)、系统设计(智能指针/线程池)。项目复盘:务必理清项目的技术链条(输入-处理-输出-优化)。准备1-2个失败案例,说明如何定位和解决问题(面试官超爱问这个!)。自动驾驶知识:必看文远知行的技术文章(如多传感器融合方案)。了解行业竞对方案(如Waymo、Cruise的路径规划特点)。💡&nbsp;最后的小吐槽三面总监疯狂追问:“如果特斯拉FSD和我们的方案在十字路口相遇,谁的决策更优?为什么?”HR面被压力测试:“如果给你发offer,你会多快离职当前实习?”(差点没接住😅)欢迎讨论!&nbsp;大家有面过文远或其他自动驾驶公司的吗?求分享经验~✨✨现在文远知行还在招实习!最后附上学长给的内推码以及内推链接,可以更快筛选简历&nbsp;!✨内推链接:https://app.mokahr.com/m/campus_apply/jingchi/2137?recommendCode=DSvUVMDa#/jobs【内推码】DSvUVMDa #实习#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#校招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#内推#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#自动驾驶#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#应届#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
查看11道真题和解析 拼多多求职进展汇总
点赞 评论 收藏
分享
评论
点赞
20
分享

创作者周榜

更多
牛客网
牛客企业服务