摘要: 命令模式的四种角色: 1、接受者(Receiver)负责执行请求的相关操作的一个类 2、命令接口:(Command)用于封装请求的方法 3、具体命令:(ConcreteCommand)命令接口的具体实现类 4、请求者:(Invoker)包含了命令接口的实例变量,负责调用具体命令 阅读全文
posted @ 2019-04-22 19:47 Dloading 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 思路: 从第二个元素开始遍历,若当前元素小于前一个元素执行排序,将当前元素作为标准数,从标准数的前一个元素位置开始向前遍历并且要求遍历的元素大于标准数时,遍历元素向后移,最后当遍历元素不满足大于标准数时,将标准数赋给不满足的元素。 阅读全文
posted @ 2019-04-22 15:30 Dloading 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 思路: 将你要排序的数组的值作为桶数组的索引,桶数组索引所对的值等于排序数组中出现的次数。 然后通过桶数组将值输出查看 (桶排序的数组中无法出现小于0的数) 阅读全文
posted @ 2019-04-21 22:00 Dloading 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 思路: 1、从最右端开始找出小于基准数的数以及其位置 2、从最左端出发找出大于其基准数的数以及其位置 3、交换两个数 4、交换基准数跟碰头数(最右端开始向前的标记等于最右端向后的标记) 5、处理数组中所有小于基准数的数字 7、处理数组中所有大于基准数的数字 阅读全文
posted @ 2019-04-21 21:26 Dloading 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 思路: 依次比较相邻元素,当前一个元素大于后一个元素时,交换两个元素位置 具体动画演示过程可以去这里https://algorithm-visualizer.org/ 阅读全文
posted @ 2019-04-21 18:05 Dloading 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 思路: 当有多个盘子时,永远将盘子看作只有两个,位于最下面的一个盘子(A),跟其他的所有盘子(看做一个B),那么只需要先将B先放到中间位置,在将A放到目标位置,最后将A放到目标位置即可。当仅仅只有一个盘子时,直接将盘子从原始位置移动到目标位置。 阅读全文
posted @ 2019-04-21 17:26 Dloading 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 给定排序数组和目标值,如果找到目标,则返回索引。如果没有,请返回索引按顺序插入的索引。您可以假设数组中没有重复项。例1:输入: [1,3,5,6],5输出: 2例2:输入: [1,3,5,6],2输出: 1 阅读全文
posted @ 2019-04-20 21:14 Dloading 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 给定数组nums和值val,在适当位置删除该值的所有实例并返回新长度。 不要为另一个数组分配额外的空间,你必须这样做修改输入数组就地用O(1)额外的内存。 元素的顺序可以改变。你留下的新长度并不重要。 例1: 给定nums = [3,2,2,3],val = 3, 你的函数应该返回长度= 2,与前两 阅读全文
posted @ 2019-04-20 21:07 Dloading 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 测试类: 阅读全文
posted @ 2019-04-19 00:27 Dloading 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 给定一组A 非负整数,A中的一半整数是奇数,而整数的一半是偶数。 对数组进行排序,以便每当A[i]奇数时,i都是奇数; 无论何时A[i]均匀,i均匀。 您可以返回满足此条件的任何答案数组。 例1: 输入:[4,2,5,7] 输出:[4,5,2,7] 说明: [4,7,2,5],[2,5,4,7],[ 阅读全文
posted @ 2019-04-16 22:43 Dloading 阅读(164) 评论(0) 推荐(0) 编辑