9.1 柠檬微趣Java笔试

一共就4道编程题,题目比较常规,但还是只做出来2.5道,第一题求数组每个元素后比他大且最小的元素,看着简单,写了半天都A不出来,难道不是用单调栈来解决吗。求大佬指点
全部评论
第一题是用单调栈 先对数据下标排序保证数组元素的大小关系 然后再对数据下标应用单调栈 找出大于 i 下标的第一个 j 下标 由于数据按大小关系排序过 a[j] 一定是在 j > i 的条件下 大于 a[i] 的最小数
2 回复 分享
发布于 09-09 22:42 江苏
第一题 http://hihocoder.openjudge.cn/2021summers6/A05/ 第二题 leetcode 第10题原题 第四题 Google protobuf 的十六进制与十进制相互转化 第三题题目没看 想问一下楼主还有没有印象 复盘一下第三题
1 回复 分享
发布于 09-09 22:44 江苏
可以用set写吧 不过我也就A 2道题 太久太久没刷题了
点赞 回复 分享
发布于 09-02 22:03 北京
都是那些题呀
点赞 回复 分享
发布于 09-05 15:05 北京
我的思路是从后往前,一次遍历,遍历元素存储在单调栈中,栈顶到栈底升序。如果当前元素大于栈顶元素,就将栈元素弹出,临时存储到另一个栈里,不断循环直到找到第一个比当前元素大的元素,收获结果并将当前元素也入栈,然后再把前面弹出的元素放回来。再进行下次循环
点赞 回复 分享
发布于 09-12 09:35 江苏

相关推荐

1 5 评论
分享
牛客网
牛客企业服务