- 博客(2)
- 收藏
- 关注
原创 数据结构与算法学习刷题练习[数组篇](day2)
分析:简单的做法是直接创一个新数组然后把数填到相应的位置即可,但是这里要求不能创建新矩阵,只能原地操作,所以需要找规律,不难发现,一个位置(i,j)的元素,需要去的位置是(j,n-i-1)。思路:因为是顺时针走,所以方向向量数组的设定是{右,下,左,上},先判断给的数组是不是空数组如果是空就直接返回一个空数组,然后求出矩阵的行数和列数,定义出标记矩阵,初始值为0,到达过就设为1。在看题解时还看到有另一种方法,先翻转,再主对角线对称交换,感觉不如上面的方法好理解,而且正常很难想到,当拓展算了。
2025-07-29 16:43:54
332
1
原创 数据结构与算法学习刷题练习[数组篇](day1)
初次尝试:翻转数组,使用for循环,从首位开始判断是否为9,不是则直接加1,是则置零,进位,但是如果下一位也是9,如何完成再次进位,何时停止?看到题目就感觉是一个拼接数组的问题,感觉用python将会是一个及其简单的问题,用两个切片然后直接拼接就行了,但是后来我就发现是我天真了,假如他给一个k值比数组长度还大就不行了。不对,应该是不算下标所在的元素的,所以左右两个端点需要单独判断,左边端点满足条件则直接返回,右边端点满足不能直接返回,因为不一定是满足条件的下标中最左边的。,因为在下标的左侧不存在元素。
2025-07-28 17:30:27
528
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅