
Leetcode
華迩
教练!我想
展开
-
用PriorityQueue优先队列实现大根堆和小根堆
通常用优先队列来实现小根堆和大根堆 //默认为小根堆(看成升序排列) Queue<Integer> minHeap =new PriorityQueue<Integer>() 假如要实现大根堆,可以用lambda 写法来构建比较规则 //默认为小根堆(看成升序排列) Queue<Integer> minHeap =new PriorityQueue<Integer>((a, b) -> { return (b - a); ..原创 2021-05-21 00:40:33 · 623 阅读 · 0 评论 -
LeetCode之计算器
事实上,我提供这套解决方案不仅仅能解决只有 + - ( )(224. 基本计算器) 或者 + - * /(227. 基本计算器 II) 的表达式问题,还能能解决 + - * / ^ % ( ) 的完全表达式问题。 一整套方案用于解决含有 + - * /()的表达式 甚至支持自定义运算符,只要在运算优先级上进行维护即可。 步骤: 一、对表达式进行预处理,把式子中的空格去掉,把(-10)替换为(0-10); 如:String s = "1 + 10 + 5 *(-10 + 5)" 通过 s =.原创 2021-03-11 16:47:17 · 336 阅读 · 4 评论