绘制直线
绘制直线。有个单色屏幕存储在一个一维数组中,使得32个连续像素可以存放在一个 int 里。屏幕宽度为w,且w可被32整除(即一个 int 不会分布在两行上),屏幕高度可由数组长度及屏幕宽度推算得出。请实现一个函数,绘制从点(x1, y)到点(x2, y)的水平线。
给出数组的长度 length,宽度 w(以比特为单位)、直线开始位置 x1(比特为单位)、直线结束位置 x2(比特为单位)、直线所在行数 y。返回绘制过后的数组。
该题主要在于理解题意,length指总共有多少个int,w/32指一行有多少个int,length/(w/32) 表示有多少行,y指在第几行操作(从0开始),将该行x1-x2的位置数值置为1。假如length=5,w = 96,那么第1行只有2个int,如果在第1行进行操作,则x2的值超过63为不合法操作。
class Solution {
public int[] drawLine(int length, int w, int x1, int x2, int y) {
int num = w /