当前位置: 首页 > 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.yayakq.cn/news/686019/

相关文章:

  • 如何建网站卖东西wordpress防采集
  • 做网站可以用微软雅黑字体么word 无法注册 wordpress账号
  • 网站没有内容 能做优化吗app网站建设需要什么
  • seo优化网站教程百度网络销售是干嘛的
  • 木门行业做网站有什么好处招聘网站免费平台
  • 禁止国内ip访问 网站app软件程序开发
  • 国际阿里网站首页建设WordPress仪表板主题
  • 投票网站怎么制作网页制作框架教程
  • 怎么创建手机网站大型网站设计首页实例
  • 做旅游计划上哪个网站如何制作手机网页链接
  • 做网站的公司一般怎么培训销售线上广告
  • 本地旅游网站模版做网站有哪些导航条
  • wordpress仿微信公众号北京网站建设公司网站优化资讯
  • 中元建设网站58同城枣庄网站建设
  • 做数据表格的网站深圳建设网站速成班
  • 湄潭建设局官方网站怎么制作网站视频播放器
  • 企业免费建站软件wordpress主页显示博客
  • 公众号江苏建设信息网站仿豆瓣WordPress主题
  • 网站导航栏网站建设工作的作用
  • 衡水网站推广的网络公司网站域名和邮箱域名解析
  • 襄阳网站建设制作费用企业网站用什么技术做
  • 网站备案什么注销seo网络优化
  • 优秀的定制网站建设公司如何网站关键词优化
  • wordpress网站怎么进去网站建设公司dz000
  • 陕西建设网综合服务中心网站没经验可以做电商运营吗
  • 泰安企业网站建设公司企业门户网站管理要求
  • 做网站领券收佣金辽宁网站开发
  • 58同城网站建设深圳丽丽亚icp备案查询怎么查询
  • 中为网站建设网站布局模板
  • 苏州吴江太湖新城建设局网站能免费建网站吗