快速排序 学了有两天了,快排的原理也理解了很多,但是每次自己写都不能一次过。。。就很悲伤 快排需要先选定一个枢轴,将这个枢轴的值作为一个标定点,遍历数组,将比枢轴的值小的全放到枢轴左边,大于等于枢轴的放在右边,这样这个这个枢轴的值的位置就算在已经拍好序的数组里也不会再动了。递归调用最终就能得到有序数 ...
分类:
编程语言 时间:
2020-03-01 20:09:13
阅读次数:
83
1 class Solution: 2 def smallerNumbersThanCurrent(self, nums: List[int]) -> List[int]: 3 sorted_nums = sorted(nums) 4 n = len(nums) 5 index = 0 6 dic ...
分类:
其他好文 时间:
2020-03-01 14:29:42
阅读次数:
56
https://codeforces.com/contest/1315/problem/D 题意:给出一个n,表示有n类书,然后接下来有两行,一行是某一类书的数量;一行是对应的书的整理时间; 要求:1.每一类书的数量都不同。 2.只有增加书的数量这一操作。 思路:对于这样一个序列,自然是整理时间长的 ...
分类:
其他好文 时间:
2020-03-01 14:26:30
阅读次数:
43
递归程序在设计时很常见,有时能很大程度上简化问题解决的复杂性. 下面就算法导论的2.3-4习题进行解答. 具体就是写出插入排序的递归版本. 1 void insert_sort(int a[],int n) 2 { 3 if(n==1) return ; 4 else 5 { 6 insert_so ...
分类:
编程语言 时间:
2020-03-01 14:25:00
阅读次数:
94
题目背景 Farmer John 被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。 题目描述 FJ 已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。 你将得到一份各农场 ...
分类:
Web程序 时间:
2020-03-01 12:20:59
阅读次数:
109
本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天我们讲的是LeetCode的31题,这是一道非常经典的问题,经常会在面试当中遇到。在今天的文章当中除了关于题目的分析和解答之外,我们还会详细解读深度优先搜索和回溯算法,感兴趣的同学不容错过。 链接 "Next Permutation ...
分类:
其他好文 时间:
2020-03-01 10:51:21
阅读次数:
50
108. Convert Sorted Array to Binary Search Given an array where elements are sorted in ascending order, convert it to a height balanced BST. For this ...
分类:
编程语言 时间:
2020-02-29 22:03:51
阅读次数:
78
Rust 代码在编写过程中与其它语言的略有不同,因为它的编译器不允许有任何不安全的写法,遂代码编写过程中花费时间最长的莫过于查找编译报错的原因。这样也有好处——代码写好之后,稳定性高得一笔! 以下是来自菜鸟教程中的排序定义和动图示意: 插入排序(英语:Insertion Sort)是一种简单直观的排 ...
分类:
编程语言 时间:
2020-02-29 20:56:34
阅读次数:
81
给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例: 输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]] 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations-ii著作权归领扣网络所 ...
分类:
其他好文 时间:
2020-02-28 22:54:04
阅读次数:
52
swap(a,b) 用于交换a,b两个变量的值; template void swap ( T& a, T& b ) { T c(a); a=b; b=c; } reverse() reverse函数反转区间的数据 sort() sort函数对区间的函数进行排序,内部是实现使用快速排序法。 max( ...
分类:
编程语言 时间:
2020-02-28 22:35:58
阅读次数:
94