当前位置: 首页 > news >正文

站长工具平台广东疫情最新消息

站长工具平台,广东疫情最新消息,锦州北京网站建设,秦皇岛网站建公司题目: 已知一个由像素点组成的单色屏幕,每行均有 w 个像素点,所有像素点初始为 0,左上角位置为 (0,0)。 现将每行的像素点按照「每 32 个像素点」为一组存放在一个 int 中,再依次存入长度为 length 的一维数组中。 …

题目:

已知一个由像素点组成的单色屏幕,每行均有 w 个像素点,所有像素点初始为 0,左上角位置为 (0,0)

现将每行的像素点按照「每 32 个像素点」为一组存放在一个 int 中,再依次存入长度为 length 的一维数组中。

我们将在屏幕上绘制一条从点 (x1,y) 到点 (x2,y) 的直线(即像素点修改为 1),请返回绘制过后的数组。

示例:

输入:length = 1, w = 32, x1 = 30, x2 = 31, y = 0
 输出:[3]
 解释:在第 0 行的第 30 位到第 31 位画一条直线,屏幕二进制形式表示为 [00000000000000000000000000000011],因此返回 [3]

解题思路:

本题实际就是将二维数组展开,变成了一维数组。题目中说明每32个像素点放在一个int中,w为每行的像素点总数,那么每行就有w/32个int,length为数组中一共有多少个int。

1.在定位x1和x2时,需要找到x1位于res中的哪个int,所以需要表示出一个偏移量:

y表示第几行,每行有row个int,所以y*row 先确定x1所在下标

再找到x1在当前这个int中是第几位,所以需要加上i/32

2.定位好x1的位置后,现在需要将x1-x2的位上的0变为1:

采用位运算:1 << (31 - (i % 32))

源代码如下:

class Solution {
public:vector<int> drawLine(int length, int w, int x1, int x2, int y) {int row=w/32;//每行多少个intvector<int> res(length,0);//初始化一维数组//将x1-x2之间的位变为1for(int i=x1;i<=x2&&i<length*32;i++){//y*row+i/32 这个是偏移量,可以直接定位到x1所在的int里//每次加的是(1 << (31 - (i % 32)))(最高位先访问)//对1进行左移res[y*row+i/32] |=(1<<(31-i%32));}return res;}
};

 

http://www.15wanjia.com/news/40886.html

相关文章:

  • 湘潭网站建设 很好磐石网络成都搜索优化排名公司
  • 做网站建设比较好的公司网络营销的含义
  • 四川省城乡建设网站做竞价推广大概多少钱
  • 网站开速度几秒百度关键词如何优化
  • 建设银行观澜支行网站windows优化大师会员
  • 做免费网站有哪些凡科建站怎么建网站
  • 做食品研发都有哪些网站免费推广网
  • 个人网站可以做信息网站吗百度网站检测
  • 牛商网做网站潜江seo
  • 西安政府网站设计论文关键词
  • 潍坊网站制作保定公司潍坊网站模板建站
  • 个人网站做企业备案吗nba排名赛程
  • 武汉网站建设制作saas建站
  • 网站怎么做竞价付费内容网站
  • 网站推广的主题重庆seo网站收录优化
  • 网络营销是什么时候兴起的珠海seo快速排名
  • 怎么制作网站建设兰州正规seo整站优化
  • 淘宝做的代码能在其他网站用吗个人如何推广app
  • 免费架设网站建网站赚钱
  • 做网站被黑后怎么办怎么建立一个自己的网站
  • fm网站开发百度官方下载安装
  • 内网网站怎么建设重大军事新闻最新消息
  • 徐州好点的做网站的公司有哪些网络广告投放公司
  • 湘潭商城网站建设定制百度搜索指数是怎么计算的
  • 什么网站帮人做网页中国目前最好的搜索引擎
  • wordpress页头图片比例搜狗关键词优化软件
  • 软件系统网站建设江苏seo哪家好
  • 福州鼓楼区建设局网站湖南seo优化服务
  • 网站备案信息下载windows优化大师是电脑自带的吗
  • 广州网站建设推广全国前十名小程序开发公司