拼多多算法笔试

算法岗位:
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

相关推荐

冲鸭2024:亚信不去也罢
投递亚信科技(中国)有限公司等公司6个岗位
点赞 评论 收藏
分享
rbjjj:太杂了吧,同学,项目似乎都没深度,都是api调度耶,分层架构思想没有体现出来了,前端没有前端优化前端工程化体现,后端微服务以及分层架构没体现以及数据安全也没体现,核心再改改,注重于计算机网络,工程化,底层原理吧
点赞 评论 收藏
分享
评论
点赞
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务