二分法
二分法的学习:
1.在有序数组中查找特定值。1.有序。2.特定值。
2.时间复杂度为log n
3.逻辑结构是while循环中的判断left<=right。判断边界是l=r,然而在这之后再次进行一次循环
4.再循环使倒数第二种状态left与right相邻,在下一次循环二者在一起,再次与target对比,无论是大于还是小于,target都是插入到left的位置。在此升序的过程中,
旋转矩阵
1.如果不限制存储空间的话,可以创建新数组,观察可以得到矩阵坐标变换的关系,遍历每一个元素,放到新数组中
2.限制空的话,m用2与3。观察先绕主对角线对称,在绕中间轴对称
3.观察可以将矩阵分成几个部分(田字格)
链接:C++ 图解原地操作,击败双百!(●ˇ∀ˇ●) - 旋转矩阵 - 力扣(LeetCode)
注意:1、swap中也会创建新的变量作为交换的媒介,但使用后就会释放,不计入空间占用
2、矩阵主对角线元素i = j。次对角线元素不满足。进行对称时的判断逻辑要注意!。