- 博客(4)
- 收藏
- 关注
原创 排序算法总结
排序算法总结(5种,日后需要完善) 排序算法总结 1.插入排序 基本思想:将一个元素插入到已排序好的有序表中,从而得到一个新的的,元素个数增1的有序表。即先将序列的第一个元素看成一个有序的子序列,然后从第二个元素逐个进行插入,直到整个序列有序为止。 如果碰见一个和插入元素相同的元素,那么插入元素把想插入的元素放在相等的元素后面。所以,相等元素的前后顺序并没有发生改变,从原无序序列出去的顺序就是排好序的顺序,所以插入是稳定的。 . void Insert_Sort(int *list,int count) {
2020-11-09 21:51:07
154
原创 力扣:Nim 游戏
力扣:Nim游戏 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。 示例 1: 输入:n = 4 输出:false 解释:如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3 块石头,最后
2020-11-09 21:36:54
737
原创 力扣70题:爬楼梯
力扣算法:爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1 阶 int climbStairs(int n){ if(n<3) return n; int
2020-11-09 21:00:17
177
原创 力扣算法:快速排序
力扣算法: 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: 1 <= nums.length <= 50000 -50000 <= nums[i] <= 50000 代码 void quicksort(int* Nums, int left, int right){ if(left<right){
2020-11-04 08:36:50
1506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人