4.16 360笔试编程题 12+4行代码搞定

第一次做这么简单的编程题,我这个菜比不到20分钟就写完了😂
第一题:
给定一个子串,求所有子串中最多的子串的个数。
例如aba的子串为a,b,a,ab,ba,aba,最多子串为a,输出2。
注意题目描述,aba的子串为a,b,a,ab,ba,aba,而不包括aa,说明题目所说的“子串”描述的是连续子串。
由于若连续子串出现n次,则其所有字符也至少出现n次,因此直接用map统计单个字符的数量。

注意此算法只能针对连续子串,若是不连续子串不能用此算法。例如aaabbb,a和b只出现了3次,而ab出现了3x3=9次。

第2题仓库偷东西:
仓库本来有LxRxH个物品,被偷成(L-2)x(R-1)x(H-2),已知剩下物品数量,求可能丢失的物品的最大值。
题目等价于:已知abc的乘积,求(a+2)(b+1)(c+2)-abc的最大值。
由于abc给定,要使(a+2)(b+1)(c+2)最大,即所翻倍数最多。显然abc中原来的值越小,加上1或者2后翻倍就会越多。由于是正整数,即值为1时翻倍最多。
而为了使abc乘积不为1,保留一个数b不为1,令a和c为1,此时所翻倍数是最大的。
因此,令a和c为1,直接计算输出就行了。主函数4行代码搞定:


#笔试题目##360公司#
全部评论
当时做笔试的时候一道滑动窗口一道动态规划😂
点赞 回复 分享
发布于 2022-06-01 14:03
老哥现在流程是什么状态啊,是笔试还是用人部门筛选?
点赞 回复 分享
发布于 2022-04-19 23:06
是算法岗吗?
点赞 回复 分享
发布于 2022-04-17 13:14
第一题思路一样,用js写,死活都是63通过
点赞 回复 分享
发布于 2022-04-17 09:49
太菜了我,看不懂第二题大佬的讲解,害
点赞 回复 分享
发布于 2022-04-16 21:19
绝了 我没想那么多 直接回溯全遍历 结果只过了40%🤣
点赞 回复 分享
发布于 2022-04-16 19:24
第2题用int会溢出,通过91%,因此用long long
点赞 回复 分享
发布于 2022-04-16 18:44

相关推荐

会飞的猿:我看你想进大厂,我给你总结一下学习路线吧,java语言方面常规八股要熟,那些java的集合,重点背hashmap八股吧,jvm类加载机制,运行时分区,垃圾回收算法,垃圾回收器CMS、G1这些,各种乐观锁悲观锁,线程安全,threadlocal这些。在进阶一些的比如jvm参数,内存溢出泄漏排查,jvm调优。我这里说的只是冰山一角,详细八股可以去网上找,这不用去买,都免费资源。mysql、redis可以去看小林coding,我看你简历上写了,你一定要熟,什么底层b+树、索引结构、innodb、mvcc、undo log、redo log、行级锁表级锁,这些东西高频出现,如果面试官问我这些我都能笑出来。消息队列rabbitmq也好kafka也好,学一种就行,什么分区啊副本啊确认机制啊怎么保证不重复消费、怎么保证消息不丢失这些基本的一定要会,进阶一点的比如LEO、高水位线、kafka和rocketmq底层零拷贝的区别等等。计算机网络和操作系统既然你是科班应该理解起来问题不大,去看小林coding这两块吧,深度够了。spring boot的八股好好看看吧,一般字节腾讯不这么问,其他的java大厂挺爱问的,什么循环依赖啥的去网上看看。数据结构的话科班应该问题不大,多去力扣集中突击刷题吧。项目的话其实说白了还是结合八股来,想一想你写的这些技术会给你挖什么坑。除此之外,还有场景题、rpc、设计模式、linux命令、ddd等。不会的就别往简历上写了,虽然技术栈很多的话好看些,但背起来确实累。总结一下,多去实习吧,多跳槽,直到跳到一个不错的中厂做跳板,这是一条可行的进大厂的路线。另外,只想找个小厂的工作的话,没必要全都照这些准备,太累了,重点放在框架的使用和一些基础八股吧。大致路线就这样,没啥太多难度,就是量大,你能达到什么高度取决于你对自己多狠,祝好。
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客企业服务