算法7-中级提升班2(实战篇)
问题1:机器物品平均问题这道题使用贪心算法。计算出数组位置的平均值。对于每一个位置,可以分别计算出左部分和右部分缺少或多出的数量,不同情况需要移动的最大次数如上图所示。例如对于数组[100,0,0,0],对于位置0的100,右部分的值为-75,需要往右侧移动75件物品;对于位置1的0,左部分的值为+75,右部分的值为-50,需要往右侧移动75件物品;对于位置2的0,左部分的值为+50,右部分的值为-25,需要往右侧移动50件物品;对于位置3的0,左部分的值为+25,需要往右侧移动25件物品。所以最多需要进过最大值75。问题2:螺旋打印矩阵问题思路,给定一个框的左上角和右下角,只需要按顺时针打印这个框即可。然后框的左上角向右下角移动,框的右下角上向左上角移动,得到一个新的框。下一轮新框是一个竖线,则停止。扩展:思路:把正方形看成以中心点的多个框组成。只要写出框的旋转方法即可。已知框的四个角的点。将一个框分为四组,交换旋转90度后组中元素的对应位置。问题3:zigzag打印数组A点一直往右移动,移动到右侧没有点时往下移动;B点一直往下移动,移动到下方没有点时往右移动,每次只移动一个点。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2502274.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!