![Avatar notebook default](https://cdn2.jianshu.io/assets/default_avatar/avatar-notebook-default-640f7dde88592bdf6417d8ce1902636e.png)
31.从1到n的整数中1出现的个数 比如,1-13中,1出现6次,分别是1,10,11,12,13。 32.把数组排成最小的数 输入一个正整数数...
剑指offer上面的66道算法题是面试高频题,书中用C/C++写的答案,本篇笔记用python刷一遍所有的算法题,用于面试准备。题号顺序是牛客网...
将原数组不断分解为前后两部分, 直到每个数组内只有一个元素, 然后不断进行排序合并, 最后合并为一个有序数组 分析 假设现在的列表分两段有序,如...
一、树与二叉树简介 树是一种数据结构 比如:目录结构 树是一种可以递归定义的数据结构 树是由n个节点组成的集合:如果n=0,那这是一棵空树;如果...
时间复杂度: 最坏: O(n**2)比如原始数组就是有序的, 那么当尾端元素为key时, 分区导致一个区域为空. 所以需要分区n次, 每次平均对...
会区分已排序区间和待排序区间, 区别是选择排序每次会拿出待排序区间中最小的元素追加到已排序区间。 空间复杂度: O(1) 时间复杂度:O(n**...
首先,列表每两个相邻的数,如果前边的比后边的大,那么交换这两个数…… 会发生什么? 时间复杂度:O(n**2) 空间复杂度: O(1) 排序稳定...
思路:把数组分为两个区间,已排序区间和待排序区间。初始已排序区间就是数组的第一个元素,之后遍历待排序区间所有元素,依次插入已排序区间的正确位置。...
从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。时间复杂度: O(logn) 1、分析思路...
文集作者