本文主要是介绍1536. 排布二进制网格的最少交换次数;754. 到达终点数字;1106. 解析布尔表达式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1536. 排布二进制网格的最少交换次数
核心思想:贪心。枚举每一行,然后去找离这行最近的满足要求的那一行。我们用j保存每一行的最后一个1,那么尾部的0个数为n-1-j,每一行需要的0个数为n-i-1,所以得出结论 i >= j。然后我们就去一行一行找,找到了就翻转,这里有个小技巧,就是在枚举每一行的时候用一个k=-1表示,如果最后k还为-1就没有找到。
754. 到达终点数字
核心思想:数学题。分情况讨论,1.直接走到终点;2.离终点为奇数距离,且再走一步为偶数;3.离终点为奇数距离,且再走两步才为偶数.4.离终点为偶数距离。结论:1,4所需的步数是一样的,然后奇数的话,每多走一次就加1。详细解释可以看灵神的题解,这里只说大致思路。
1106. 解析布尔表达式
核心思想:栈。用栈来模拟人的计算,如果遇到右括号,那么我们就处理这个右括号前面的计算,然后把它放入栈中,等所有都处理完了那么判读最后栈中剩余的值即可。
这篇关于1536. 排布二进制网格的最少交换次数;754. 到达终点数字;1106. 解析布尔表达式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!