刷题笔记
阳光开朗_大男孩儿
不为未发生的事担忧,不为过去的事后悔。与其担忧,不如做好当下,与其后悔,不如行动弥补
展开
-
快速排序代码
在这个实现中,`quickSortRecursive`函数实现了快速排序的递归过程。它首先选择一个基准值(这里选择第一个元素),然后重新排列数组,使得左侧的元素都比基准值小,右侧的元素都比基准值大。请注意,快速排序在最坏情况下的时间复杂度是O(n^2),但是平均情况下的时间复杂度是O(n log n)。`quickSort`函数是一个公共接口,它调用`quickSortRecursive`开始排序过程。主函数`main`展示了如何使用`quickSort`函数对一个整数数组进行排序,并输出排序后的结果。原创 2024-03-11 16:21:01 · 320 阅读 · 0 评论 -
一个长度为N的整形数组,数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数
如果在尝试放置过程中发现目标位置上的元素和要放置的元素相同,则表示发现了重复的元素,函数就会返回`true`。这意味着如果数组中没有重复的元素,那么每个元素应该正好与它的索引相同。要判断一个长度为N的整形数组中是否有重复的数字,其中元素的取值范围是[0, n-1],可以采用直接的哈希表方法,或者因为数字范围有限制,也可以原地修改数组来节省额外的空间。这个方法不需要额外的空间,并且时间复杂度是O(n),因为每个元素最多只会被交换两次(一次是被放到它应该在的位置上,另一次是放别的元素到它应该在的位置上)。原创 2024-03-11 16:19:42 · 458 阅读 · 0 评论