文远知行笔试第一题错哪了!!!!!!!

给T,代表T组输入。每组第一行一个字母,代表当前红绿灯的颜色,只能是r,g,y。每组第二行一个字符串,代表红绿灯变化规律,比如ryyg则变化循环是:ryyg ryyg ... 输出当前红绿灯右侧第一个g的距离。
这题输入输出的问题还是时间复杂度还能优化?
时间复杂度已经为O(T * N) N=len(str), N的范围是1.5 * 10的5次方, t最大为100. 为什么多次提交代码在线上运行时还是出现运行超时且空间消耗为0kB的情况?
真的服了!
```golang
package main

import (
"fmt"
)

func main() {
var t int
fmt.Scan(&t)
for i := 0; i < t; i++ {
var ch byte
fmt.Scanf("%c", &ch)
var str string
fmt.Scan(&str)
if ch == 'g' {
fmt.Printf("0\n")
} else {
n := len(str)
            ans := n + 1
            start := -1
            leftGIdx := -1
for i := 0; i < n; i++ {
                if str[i] == ch {
                    start = i
                }
                if str[i] == 'g' {
                    if start == -1 {
                        leftGIdx = i
                    } else {
                        if i - start < ans {
                            ans = i - start
                        }
                    }
                }
            }
            if ans == n + 1 {
                ans = n - start + leftGIdx
            }
            fmt.Printf("%d\n", ans)
}
}
    return
}
```
全部评论
要么超时要么是0,不理解
1 回复 分享
发布于 2025-08-24 21:37 北京
这个题很简单的。方法是:开一轮遍历,找每个字母距离最近的g的距离,这里用上dfs,只需要O(N)就能做到。然后第二轮,就找它输入的“当前红绿灯颜色”到距离最近的g的距离最小距离就可以了。你这个方法我也试了,我也tle,不知道原因了
点赞 回复 分享
发布于 2025-08-24 23:25 辽宁

相关推荐

04-13 15:31
门头沟学院 Java
某游戏厂,面了&nbsp;1h。大部分时间都是问纯八股,项目一点没问,手撕也很简单,网上搜到的面经大部分是C++八股文轰炸或者项目拷打。是不是因为一开始就对我不感兴趣所以干脆不为难我了面经如下:自我介绍游戏经历主要编程语言(我说的Java&nbsp;但是岗位写的是C++/GoLang)求职方向是后端,为什么选择游戏服务器开发有Linux使用经历吗(项目部署)用过的Linux命令查看文件用什么命令,查看大文件呢?租服务器会关注服务器配置吗,如何确定这个配置能够满足项目部署的需求?会分析服务器使用情况吗(CPU、内存使用率),如何定位具体的线程资源使用情况?讲讲数组和链表结构、常用操作、时间复杂度为什么数组支持随机访问(内存连续+偏移量)讲讲栈和队列结构、区别、应用讲讲RabbitMQ如何用数组实现队列讲讲哈希,平时用过哪些哈希的数据结构哈希表的key如何获得什么是哈希冲突哈希底层原理了解吗面向对象三大特性现场写一下多态的例子讲讲平时用过的设计模式手撕反转链表、反转字符串反问的时候面试官说我可以自信一点()最后给点建议吧:纯八股&nbsp;+&nbsp;项目一点没问,大概率不是“不感兴趣所以不为难你”,更可能是:1,面试官习惯按固定流程走,先筛基础2,或者他觉得项目跟岗位匹配度不高,问了也白问,3,面了一个小时还给建议,说明你至少过了他的及格线。别自己加戏
查看23道真题和解析
点赞 评论 收藏
分享
04-13 09:20
已编辑
电子科技大学 C++
自我介绍&nbsp;实习1.&nbsp;去上一家公司实习的目的?2.&nbsp;为什么离职?3.&nbsp;上一家公司职场氛围和交流氛围如何?4.&nbsp;上一家公司实习主要的工作背景和产出?5.&nbsp;介绍一下上一家公司实习的背景和原理6-12.&nbsp;实习拷打13.&nbsp;上一家公司有没有&nbsp;AI&nbsp;提效工具?有没有&nbsp;AI&nbsp;培训?其他员工有没有相关的使用经验?14.&nbsp;你为什么在实习开发中使用&nbsp;AI&nbsp;工具吗?15.&nbsp;总结一下上一家公司实习你的收获是什么?16.&nbsp;实习期间,你遇到最困难的一个点?你是如何解决的?项目1.&nbsp;Raft&nbsp;项目的动机是什么?算法无闲聊1.&nbsp;你转专业了吗?还是自学?2.&nbsp;Golang&nbsp;和&nbsp;C++&nbsp;哪个用得比较多?3.&nbsp;面试官介绍&nbsp;Golang&nbsp;和&nbsp;C++&nbsp;在后端和鸡架开发之间的差异...4.&nbsp;能实习多久?专业其他同学的规划是读研还是就业?5.&nbsp;你为什么想要就业?你不用上课吗?6.&nbsp;有没有想过跨考?7.&nbsp;反问总结第一次约面后,面试官临时有会,面试前&nbsp;5&nbsp;分钟取消会议。推迟了一天,然后又迟到&nbsp;10&nbsp;分钟。自我介绍完就感觉像是&nbsp;KPI&nbsp;面了,不过没关系,感觉还是很好为人师的面试官,反问环节直接让他帮我把从&nbsp;C++&nbsp;到&nbsp;Golang&nbsp;学习路线规划了一下,也请教了一下应该阅读哪些书籍。
发面经攒人品
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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