摘要: 一个租房系统,在系统中增加一个roomid,它有几个属性,面积为 area,月租金为 price,卧室数量为 rooms,地址坐标为 address(格式为 [横坐标x, 纵坐标y])。 一个查询功能要求对满足的房源进行排序,每一次查询的排序规则均不同,是动态变化的,称之为不定长二维数组的排序问题 阅读全文
posted @ 2021-10-13 20:10 匠人小魏 阅读(131) 评论(0) 推荐(0)
摘要: leetcode 128. 最长连续序列 常规qsort暴力解法 常规想法就是使用先排序,然后遍历的思想。时间复杂度为 nlogn + n int MyCmp(const void *a, const void *b) { int left = *(int *)a; int right = *(in 阅读全文
posted @ 2021-10-06 23:37 匠人小魏 阅读(168) 评论(0) 推荐(0)
摘要: leetcode 215. 数组中的第K个最大元素 大顶堆算法 步骤1:将数组中所有的数据按照大顶堆排序 步骤2:然后将堆顶元素删除,将堆尾数据放到堆顶,然后调整堆满足大顶堆的属性(调整的时候使用递归的方式,减少代码量) 重复步骤2 k - 1次,堆顶数据就是想要的结果 时间复杂度分析 在建堆的开始 阅读全文
posted @ 2021-10-06 22:58 匠人小魏 阅读(157) 评论(0) 推荐(0)
摘要: 经典排序算法-归并排序 一些基础的算法需要亲手实践。 归并算法使用了分治的思想。在算法中很好的使用了递归的处理技巧。 // 用该题练习一下归并排序算法 void Merge(int *arr, int left, int mid, int right, int *tmp) { // [left, m 阅读全文
posted @ 2021-10-06 18:23 匠人小魏 阅读(14) 评论(0) 推荐(0)