
数据结构
满腹的小不甘
这个作者很懒,什么都没留下…
展开
-
碰撞检测算法之GJK算法
碰撞检测算法之GJK算法原创 2023-03-21 16:27:19 · 5129 阅读 · 0 评论 -
编程题:二维平面整数点集求最大值
题目描述:P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。def resu(datalist): result = [] # 外循环:目标点x for item1 in datalist:.原创 2021-05-18 10:27:54 · 952 阅读 · 0 评论 -
编程题:顺时针打印矩阵(不一定是方阵)
思路:先按水平中线翻转,再按主对角线翻转def rotate(matrix): m, n = len(matrix), len(matrix[0]) dp = [[0] * m for _ in range(n)] # matrix = m*n, dp = n*m # 先按水平中线翻转 for i in range(m//2): for j in range(n): temp = matrix[i][j]原创 2021-05-18 10:13:39 · 148 阅读 · 0 评论 -
二分查找
二分搜索关键词:排序,搜索模式识别:有序或部分有序,基本使用二分搜索及其变种。原因:我们总能使用线性搜索实现复杂度为O(n)的算法,所以复杂度的上界=O(n)算法描述:“丢弃”一半的数据,使得搜索空间减半复杂度:时间复杂度:O(logn) 空间复杂度:O(1)核心思想:step1:找到有序的区间; step2:若搜索值在区间内,则搜索有序的一边;否则,搜索无序的一边编程题:Leetcode:33. 搜索旋转排序数组 34. 在排序数组中查找元素的第一个和最后一个原创 2021-04-15 15:39:15 · 137 阅读 · 0 评论