• 欢迎访问小澍的博客,编程记录,技术贴以及折腾的日常,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我的博客吧
排序速记

排序速记

本文学习内容来自极客时间专栏《数据结构与算法之美》,感兴趣的可以去看看。 排序的分类 按需求 按照业务需求,排序分为稳定以及不稳定排序。所谓不稳定即算法在处理两个具有相同value的元素时,将元素顺序进行改变,这种情况就是不稳定的;反之,不会交换相同value的算法即稳定排序。同时,在空间占用角度下还需要注意在排序过程中是否使用了额外的空间进行辅助排序,未使……

剑指offer刷题记——丑数

剑指offer刷题记——丑数

丑数 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。(点我直接练习) 分析 本体难度偏中等,难点集中在如何建立丑数序列。所以首先要明确丑数的实际含义,它和质数的本质区别在于一个数字能被分解的最小因子是2,3,5就符合了丑数的……

剑指offer刷题记——数组中重复的数字

剑指offer刷题记——数组中重复的数字

数组中重复的数字 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。(点我直接练习) 分析 一开始在缺乏知识的情况下,我能想到的做法是两个for……

剑指offer刷题记——矩形覆盖

剑指offer刷题记——矩形覆盖

矩形覆盖 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?。 n……

剑指offer刷题记——变态跳台阶

剑指offer刷题记——变态跳台阶

变态跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 n……

剑指offer刷题记——跳台阶

剑指offer刷题记——跳台阶

跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 n……

剑指offer刷题记——斐波那契数列

剑指offer刷题记——斐波那契数列

斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n……

剑指offer刷题记——从尾到头打印链表

剑指offer刷题记——从尾到头打印链表

从尾到头打印链表 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。(点我直接练习) 分析 仔细读题,只是让我们把链表读到一个向量里(C++指定)或者一个List(python指定)中,然后根据指定的数据结构反转一下即可,由于使用的都是功能性数据结构,对于vector直接反转输出,List使用相同的reverse或者切片输出都可以。 使用到的知……

剑指offer刷题记——替换空格

剑指offer刷题记——替换空格

替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。(点我直接练习) 分析 短小精悍的题意就不需要额外分析了,使用C++的时候,题目制定使用了char数组,所以必然要考虑的就是如何进行截取,替换的过程。我一开始的思路是只用一遍循环,每查找到一个……

剑指offer刷题记——二维数组查找

剑指offer刷题记——二维数组查找

开篇 满打满算,还有半年的时间就要去找正式工作了,在念硕士的阶段,每天打的不是code,都是一堆命令的kinds of stuff,虽说Python也断断续续用了一年,但是连续写起来,还是要查查这查查拿,更不用说本科阶段入门CS 的C++。 可以用的OJ平台数不胜数,本科时候大家热衷的PTE,现在从国外火到国内的LeetCode(力扣),以及牛客网的在线编程……