9.1 柠檬微趣Java笔试
一共就4道编程题,题目比较常规,但还是只做出来2.5道,第一题求数组每个元素后比他大且最小的元素,看着简单,写了半天都A不出来,难道不是用单调栈来解决吗。求大佬指点
全部评论
第一题是用单调栈 先对数据下标排序保证数组元素的大小关系 然后再对数据下标应用单调栈 找出大于 i 下标的第一个 j 下标
由于数据按大小关系排序过 a[j] 一定是在 j > i 的条件下 大于 a[i] 的最小数
第一题 http://hihocoder.openjudge.cn/2021summers6/A05/
第二题 leetcode 第10题原题
第四题 Google protobuf 的十六进制与十进制相互转化
第三题题目没看 想问一下楼主还有没有印象 复盘一下第三题
可以用set写吧 不过我也就A 2道题 太久太久没刷题了
都是那些题呀
我的思路是从后往前,一次遍历,遍历元素存储在单调栈中,栈顶到栈底升序。如果当前元素大于栈顶元素,就将栈元素弹出,临时存储到另一个栈里,不断循环直到找到第一个比当前元素大的元素,收获结果并将当前元素也入栈,然后再把前面弹出的元素放回来。再进行下次循环
相关推荐
机智的土拨鼠:更新:
当时是在实习的时候面的。最后没想到过了。属于是运气爆棚了。
查看21道真题和解析
点赞 评论 收藏
分享