
算法
文章平均质量分 54
skdjq
这个作者很懒,什么都没留下…
展开
-
蛇形矩阵
蛇形矩阵题目地址:https://www.acwing.com/problem/content/758/输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式输入共一行,包含两个整数n和m。输出格式输出满足要求的矩阵。矩阵占n行,每行包含m个空格隔开的整数。数据范围1 ≤ n,m ≤ 1001 ≤ n,m ≤ 100输入样例:3 3输出样例:1 2 38 9 47 6 5对于这一类问题,我们可能首原创 2021-01-13 23:17:48 · 431 阅读 · 0 评论 -
LeetCode刷题汇总(停止更新)
本篇是记录本人在刷leetcode过程中的题解及经验总结,望读者善用Ctrl + F。数组篇删除排序数组中的重复项题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array解题核心思想:双指针。注意本题目的数组是有序的,这就说明重复的元素必然相邻。题目要求不使用额外空间删除重复项,那么就说明这一题我们可以把不重复的元素都挪到数组的左边,最后返回不重复元素的个数即可。解法:定义一个指针 p 指向数组第一原创 2020-10-29 22:25:25 · 482 阅读 · 0 评论 -
快速排序和归并排序
快速排序快速排序的核心思想是分治,其算法大体可分为三个部分:确定一个分界点 pivot (这个分界点可以任取,一般来说取左端点或中间端点);调整区间,将小于 pivot 的数和大于 pivot 的数分开;递归处小于 pivot 和大于 pivot 的部分。这里我们用到了双指针,即在待排序数组的两端定义两个指针 i 和 j ,i 不断向右移动直到 q[i] > pivot,j 不断向左移动直到 q[j] < pivot,这时将 q[i] 和 q[j] 交换,之后递归进行处理。这样处原创 2020-09-18 22:18:08 · 212 阅读 · 0 评论