滴滴秋储笔试(2022年06月11日)

编程题

1) 给定一个数组,可以将任意一个数字标记为红色或者蓝色,使得所有红色数字递增,蓝色数字递减;
判断是否可以将所有数字都染色
例子:
输入: 
7 4 1 3 2 5 6
输出
Yes
解释

7 4 3 标记为蓝色 为降序
1 2 5 6 标记为红色 为升序
代码
boolean isIllegal(int[] values) {
    // 让第一个数字为降序或者升序的一部分,进行dfs搜索
    return dfs(values, 1, values[0], Integer.MAX_VALUE) || dfs(values, 1, Integer.MIN_VALUE, values[0]);
}

/**
* @param values
* @param index 当前搜索的数字
* @param preLower 升序序列的末尾
* @param preHigher 降序序列的末尾
* @return
*/
boolean dfs(int[] values, int index, int preLower, int preHigher) {
    if (index >= values.length) return true;
    // values[index] 作为升序序列的一部分
    if (values[index] > preLower && dfs(values, index + 1, values[index], preHigher)) {
        return true;
    }
    // values[index] 作为降序序列的一部分
    if (values[index] < preHigher && dfs(values, index + 1, preLower, values[index])) {
        return true;
    }
    // 都不行,返回false
    return false;
}

#滴滴笔试#
全部评论
老哥,能帮我看一下,我这样写的dfs,问题出在哪吗?感觉思路和你差不多,但是只过了18%~😥
1
送花
回复
分享
发布于 2022-06-11 22:15

相关推荐

头像
04-27 21:49
已编辑
重庆邮电大学 土木类
先介绍个人情况吧,双非GO选手,一小段大厂实习经验,然后我应该是算准备的特别早的了,大概大年初四之后我就开始复习落下的八股,算法了。然后2月26从boss投递了小黑盒,我就基本开始了面试之旅。在最开始我其实还挺悠闲也挺有信心,就偶尔刷刷牛客,boss,看到了比较大的厂就投一下,基本都是挑着在投递。在三月初也拿了两三个公司的offer,但基本也算是练手吧,没考虑就拒了。后面暑期实习陆续都开放投递,我投递的也是比较积极,boss牛客也持续关注。大概是三月中旬开始,那时候感觉基本就是天天关注暑期实习开放,然后投递,写测评、笔试,投递……大概那两周左右面试就几乎没有,就面了一个腾讯云智。云智面试前后我的心态也发生了很大的变化,一面其实特别顺利,两道mid都很快ac,八股也很顺利(100min),二面约在周一,自我感觉准备特别充足,结果二面上来迟到将近30分钟(给hr告知才来的),来了之后摄像头不开,顺便问了不到20min就没了,啊??&nbsp;&nbsp;这应该是我人生中第一次kpi面,一直隔了两周官网状态才挂掉。我不知道你们会不会这样,一个厂一直没给你面试结果,那段时间也没有心情看八股,写题。天天就搁那一直刷官网状态,一整个焦虑的状态。清明节前后一周我已经是自我怀疑的一个状态了,一度想着找个小厂混吃得了。然后就boss海投,随之就是在清明前约了4个小厂的面试,最后过了两个,留下了一个作为保底。后面在牛客投递了滴滴,hr小姐姐人真好,看我投递的岗位没hc了主动帮我投递推荐,半天就收到了面试邀约,不过很可惜我没抓住机会二面挂了再就是后两周,终于是面试旅途迎来转机,先后收到了两个心仪厂子的面试邀约,面试也异常顺利,本周三最后一个面试结束,我的两个月的面试之旅也结束了。==========经验分享看了牛客上不光只有大佬的选offer帖子,也不乏很多焦虑的牛友。其实很多牛友都是有实力的,但后端大环境就这样,尤其是没有实习经历,约面试真的特别难,特别是暑期实习,对于双非后端,可能就腾讯,美团机会会多一些,很多厂子学历就已经卡死了。所以很多情况不是自身实力问题,所以不要太过于焦虑,一定要保持住算法,八股的状态,不然机会来了没把握住就太可惜了。还有就是尽量少刷牛客,刷半天反而把自己搞焦虑了……
点赞 评论 收藏
转发
9 17 评论
分享
牛客网
牛客企业服务