随笔分类 - 算法
摘要:若想要删除链表的节点,我们就需要知道链表的前一个节点,如果要找到单向链表的前一个节点,就需要遍历链表,进行寻找,时间复杂度为O(n),显然不满足题目要求。 所以,我们采用的方法是,如果待删除节点不是尾节点,我们把待删除节点的后一个几点的内容赋值该待删除节点,从而达到删除节点的要求。当待删除节点为尾节
阅读全文
摘要:该算法采用递归的方式,打印从1到最大的n位数,即利用一个大小为n的数组,采用递归的方式进行一个0-9的全排列。
阅读全文
摘要:一、查找和排序 如果面试的时候要求在排序的数组(或者部分排序的数组)中查找一个数字或者统计某个数字出现的次数,可以尝试用二分查找。 二、动态规划和贪婪算法 如果面试题是求一个问题的最优解,如果把小问题的最优解组合起来能够得到整个问题的最优解,那么我们可以应用动态规划解决这个问题。 我们在应用动态规划
阅读全文
摘要:快速幂的目的是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了很多。 当b=11时,b的二进制:1011,。 &运算通常用于二进制取位操作,例如一个数 & 1 的结果就是取二进制的最末位。还可以判断奇偶x
阅读全文
摘要:一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 五、快速排序 六、归并排序
阅读全文

浙公网安备 33010602011771号