滴滴笔试

貌似是最近做的最。。简单的笔试题了(

  1. 交换一次或不交换一个字符串的两个字母,得到一个字典序最小的字符串
    ac:有点类似双指针,先固定头部位置,从后向前找比头部位置小的最小字母,如果有则交换,结束;如果没有那么头部位置向后移动直到不相等,然后重复步骤1

  2. 一个救助站,多个居民点,有多条边,救助站能访问所有居民点,判断是否删除任意一条边后救助站仍然可以访问任意一个居民点
    ac:直接判断任意两点之间是否有2条或以上的边数

。。

#滴滴##笔经#
全部评论
第二题判断一下有没有数字出现次数小于2就好了
3 回复 分享
发布于 2021-03-20 20:43
楼主真厉害。。我一道没做出来
3 回复 分享
发布于 2021-03-20 20:18
第一题有啥注意的点吗?或者特殊的数据,感觉自己思路和楼主差不多啊,就是一直27%?🤨
2 回复 分享
发布于 2021-03-20 20:45
回文那题有大佬通过率超过18%的么?动态规划,中心展开,递归都是18%,吐了
1 回复 分享
发布于 2021-03-20 21:33
第一题100%,用的递归: public class Main {     public static void main(String[] args) {         String s = new Scanner(System.in).nextLine();         char[] array = s.toCharArray();         recur(0,array.length,array);         System.out.println(array);     }     static void recur(int start,int end,char[] arr){         if (start>=end) return;         char min = arr[end-1];         int index = end-1;         for (int i = end-1; i >=start; i--) {             if (arr[i] < min){                 min = arr[i];                 index = i;                 if (min == 'a&(417)#39;) break;             }         }         for (int i = start; i < index; i++) {             if (arr[i]>min){                 arr[index] = arr[i];                 arr[i] = min;                 return;             }         }         recur(index+1,end,arr);     } }
1 回复 分享
发布于 2021-03-20 21:12
第一题91,怎么调试都没用😤
1 回复 分享
发布于 2021-03-20 20:36
第一题过55不知道为啥
1 回复 分享
发布于 2021-03-20 20:31
请问滴滴的笔试需要自己处理输入输出嘛
点赞 回复 分享
发布于 2021-04-09 12:18
第一题超时,第二题AC。字符串一直不太会
点赞 回复 分享
发布于 2021-03-21 12:19
第二题我想复杂了,我以为直接判断不行呢……好吧,我是垃圾……
点赞 回复 分享
发布于 2021-03-21 09:49
第一题我也是和楼主一样的思想,但是85。第二题,我个人认为楼主的思路有漏洞,会有两条边但是阻断了任意一条边,不与救援点相连的情况。我认为,我可以直接与救援点的居民点当作救援点,如果所有的居民点与救援点的连线不小于两条则成立。
点赞 回复 分享
发布于 2021-03-21 09:31
笔试简单面试怕是杀人。。。。
点赞 回复 分享
发布于 2021-03-21 09:12
代码。
点赞 回复 分享
发布于 2021-03-20 21:29
第一题就是后面找一个最小的跟前面交换就完了
点赞 回复 分享
发布于 2021-03-20 21:06
没看懂第一题的用例输出,不是说最多可以交换两次吗,aaazbcdeadcd交换一次可以得到aaaabcdezdcd(原题答案),我再把d和c交换一下aaaabccezddd,这个字典序不是更小吗?在这卡了好久,始终没想通。。。
点赞 回复 分享
发布于 2021-03-20 21:04
第一题楼主暴力解也能过🙄 第二题我也是一样的解法,但是其实不对:两个分离的三角形也是符合你代码情形,不过不符合题意(反正AC了😂
点赞 回复 分享
发布于 2021-03-20 21:02
说下第一题O(n)的思路:      先找输入字符串的最小字母序字符串(直接把输入字符串a-z的个数读出来,然后依次a-z再组装起来),用输入字符串和最小字符串比较,遇到的第一个不同字符的就是需要交换的字母。
点赞 回复 分享
发布于 2021-03-20 20:57
塞码是统计最高分还是最后提交的
点赞 回复 分享
发布于 2021-03-20 20:55
为啥我两道都是字符串
点赞 回复 分享
发布于 2021-03-20 20:50
我醉了 没人第二题是那个回文串的吗 挺简单的一题直接动态规划,死活18 过了测试用例,不知道错在哪里
点赞 回复 分享
发布于 2021-03-20 20:48

相关推荐

最终还是婉拒了小红书的offer,厚着脸皮回了字节。其实这次字节不管是组内的氛围、HR的沟通体验,都比之前好太多,开的薪资也还算过得去,这些都是让我下定决心的原因之一。但最核心的,还是抵不住对Agent的兴趣,选择了Ai&nbsp;Coding这么一个方向。因为很多大佬讲过,在未来比较火的还是属于那些更加垂类的Agent,而Ai&nbsp;Coding恰好是Coding&nbsp;Agent这么一个领域,本质上还是程序员群体和泛程序员群体这个圈子的。目前也已经在提前实习,也是全栈这么一个岗位。就像最近阿里P10针对前端后端等等不再那么区分,确实在Agent方向不太区分这个。尤其是我们自己做AI&nbsp;Coding的内容,基本上90%左右的内容都是AI生成的,AI代码仓库贡献率也是我们的指标之一。有人说他不好用,那肯定是用的姿态不太对。基本上用对Skill、Rules&nbsp;加上比较好的大模型基本都能Cover你的大部分需求,更别说Claude、Cursor这种目前看来Top水准的Coding工具了(叠甲:起码在我看来是这样)。所以不太区分的主要原因,还是针对一些例如Claude&nbsp;Code、Cursor、Trae、Codex、CC等一大堆,他们有很多新的概念和架构提出,我们往往需要快速验证(MVP版本)来看效果。而全栈就是这么快速验证的一个手段,加上Ai&nbsp;Coding的辅助,目前看起来问题不大(仅仅针对Agent而言)。而且Coding的产品形态往往是一个Plugin、Cli之类的,本质还是属于大前端领域。不过针对业务后端来看,区分还是有必要的。大家很多人也说Agent不就是Prompt提示词工程么?是的没错,本质上还是提示词。不过现在也衍生出一个新的Context&nbsp;Eneering,抽象成一种架构思想(类比框架、或者你们业务架构,参考商品有商品发布架构来提效)。本质还是提示词,但是就是能否最大化利用整个上下文窗口来提升效果,这个还是有很多探索空间和玩法的,例如Cursor的思想:上下文万物皆文件,&nbsp;CoWork之类的。后续也有一些Ralph&nbsp;Loop啥的,还有Coding里面的Coding&nbsp;Act姿态。这种才是比较核心的点,而不是你让AI生成的那提示词,然后调用了一下大模型那么简单;也不是dify、LangGraph搭建了一套workflow,从一个node走到另外一个node那么简单。Agent和WorkFLow还是两回事,大部分人也没能很好的区分这一点。不过很多人说AI泡沫啥啥啥的,我们ld也常把这句话挂在嘴边:“说AI泡沫还是太大了”诸如此类。我觉得在AI的时代,懂一点还是会好一点,所以润去字节了。目前的实习生活呢,除了修一些Tools的问题,还包括对比Claude、Cursor、Trae在某些源码实现思想上的点,看看能不能迁移过来,感觉还是比较有意思。不过目前组内还是主要Follow比较多,希望下一个阶段就做一些更有创新的事情哈哈。这就是一个牛马大学生的最终牧场,希望能好好的吧。说不定下次发的时候,正式AI泡沫结束,然后我又回归传统后端这么一个结局了。欢迎交流👏,有不对的🙅不要骂博主(浅薄的认知),可以私聊交流
码农索隆:和优秀的人,做有挑战的事
点赞 评论 收藏
分享
评论
9
22
分享

创作者周榜

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