判断矩阵相交
首先求出P1与P3点在X方向较大值与Y方向较大值的交点,在下图中就是P3,用红点(记为M点)表示。然后求出P2与P4点在X方向较小值与Y方向较小值的交点,在下图中就是P2,用橙色点(记为N点)表示。如果M点的X坐标和Y坐标值均比N点相应的X坐标和Y坐标值小,亦即M和N可以分别构成一个矩形的左上角点和右上角点,则两矩形相交;其余情况则不相交。
快速排序
约瑟夫环
0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。
常规解法:
- 将[0,n]依次存储在链表中
- 只要链表的长度不为1,就一直循环,如果到了第m个就remove;否则将其添加到链表尾部
- 时间复杂度为O(nm)
公式解法
- f(people,num) 表示在有people个人时,报数为num,胜利的人的位置
- people = 1 时, pos = 0
- pos=f(people,num)=(f(people−1,num)+num)%peoplepos = f(people,num) = (f(people-1,- num)+num)% peoplepos=f(people,num)=(f(people−1,num)+num)%people
100层的楼,2个鸡蛋,如何最快测出哪层楼扔鸡蛋不会碎?时间复杂度是多少?平均时间复杂度?
https://blog.csdn.net/qq_38316721/article/details/81351297
判断一个点是否在三角形内
https://blog.csdn.net/IT_yanghui/article/details/83416129
判断链表是否有环
https://blog.csdn.net/qq_32534441/article/details/88389223
字符串翻转
LeetCode 236 二叉树最近公共祖先:
https://blog.csdn.net/jiangziya1713/article/details/105478334
AStar
https://www.cnblogs.com/LiveForGame/p/10528393.html
动态规划
LeetCode 62:不同路径:
https://blog.csdn.net/weixin_44547562/article/details/114236870
CodTop
https://codetop.cc/home