
c语言初学
loi__wzhd
这个作者很懒,什么都没留下…
展开
-
归并排序
在开始今天的问题之前,我们先来想一个问题:如何将2个有序的数组合并成一个有序的数组如下图方法很简单,我们各自对最小值比较然后被取的数组移动到下一个比较,我们先比较1和4,然后1最小,指针后移,在比较2和4……直到将一个数组比较完。将另一个数组直接放在后面即可。第一步:第二步:第n步:第n+1步:综上所述:我们将2个有序的数组合并为1个有序数组的时间复杂度为O(n)那么,假设刚开始的时候,我们认为每个数自己就是一个有序是数组,然后两两合并(时间复杂度为O(n)的,因为每个数只比较了原创 2021-01-15 15:35:53 · 116 阅读 · 0 评论 -
字母旋转方阵
分析一下问题我们需要以旋转的方式进行填写,先假设我们已经有了一张空白的二维数组,下面我们要往里面进行填数,但是我们会发现一个问题,我们填数的方式不同于以往的按照行,列依次填写,我们会往上、下、左、右四个不同的方向前进填写。我们可以考虑写一些if判断我们要往哪个方向前进比如:if(我上一步是往右,我现在还能往右)我往右填写if(我上一步往右,下一步不能往右)我改成往下写这样我们的问题就...原创 2019-12-01 19:13:42 · 1493 阅读 · 0 评论