day11
1.150逆波兰表达式求值:利用栈求解。利用stoll函数将数字字符强转为long long类型压入栈里,当遇到加减乘除符号时(必须使用双引号来比较字符串),取出栈中的两个元素做相应的操作(后拿出来的元素要作为算式表达式中的前面的元素)。
2.239滑动窗口最大值:利用deque双端队列来实现滑动窗口的增删元素操作。通过条件判断使得队列中最开始的元素一直是当前滑动窗口下最大的元素,元素入队时删除队列中小于该值的元素,保留比该元素更大的元素(循环比较que.back());滑动窗口出队时要考虑到在保证最开始元素为最大值的过程中可能已经将原本要弹出的元素弹出了,因此要通过判断滑动窗口要移除的元素value[i-k]是否等于当前队列中的最开始元素。
3.347前 K 个高频元素:采用map来统计元素值以及出现的频率;采用优先级队列(小顶堆只维护k个数值,将数值更小的元素弹出,只留下k个更大的元素)。
学完了多态。
2.239滑动窗口最大值:利用deque双端队列来实现滑动窗口的增删元素操作。通过条件判断使得队列中最开始的元素一直是当前滑动窗口下最大的元素,元素入队时删除队列中小于该值的元素,保留比该元素更大的元素(循环比较que.back());滑动窗口出队时要考虑到在保证最开始元素为最大值的过程中可能已经将原本要弹出的元素弹出了,因此要通过判断滑动窗口要移除的元素value[i-k]是否等于当前队列中的最开始元素。
3.347前 K 个高频元素:采用map来统计元素值以及出现的频率;采用优先级队列(小顶堆只维护k个数值,将数值更小的元素弹出,只留下k个更大的元素)。
学完了多态。
全部评论
相关推荐
11-07 23:44
浙江工业大学 数据分析师 点赞 评论 收藏
分享
查看6道真题和解析
点赞 评论 收藏
分享