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

免费网页模板素材网站在线客服

免费网页模板素材网站,在线客服,网站建设要学哪些软件有哪些方面,数据库内容进 wordpress题目: 已知一个由像素点组成的单色屏幕,每行均有 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.shuangfujiaoyu.com/news/49828.html

相关文章:

  • 女的和男的做那个视频网站友情链接seo
  • 新余做网站的公司友情链接查询
  • 深圳工信部网站免费网络营销方式
  • 跨境电商开店要多少钱快速排名seo
  • wordpress菜单调用苏州首页关键词优化
  • 投票网站做seo如何武汉整站优化
  • 做网站页面设计报价谷歌浏览器手机版免费官方下载
  • 网站做外链平台有哪些百度网址是什么
  • 之江汇学校网站建设怎么进入百度推广账户
  • 深圳做网站的好公司环球网疫情最新消息
  • 可以在哪个网站做封面赚钱网上销售推广方案
  • php 网站开发如何创建自己的网站平台
  • 网站开发哪里有个人网页设计作品欣赏
  • 兰州手机网站制作百度新闻头条新闻
  • 什么网站可以做设计赚钱的吗seo关键词分类
  • 网上做网站优化的靠谱吗郑州seo哪家专业
  • 网站建设价格在哪济南兴田德润优惠吗谷歌chrome浏览器下载
  • 建设银行香港招聘网站百度搜索优化关键词排名
  • 东莞商城网站建设公司今日头条新闻大事件
  • 网站建设 博贤科技百度广告运营
  • wordpress 下载站主题网站优化网站优化
  • 怎么看一个网站好坏宁波seo教学
  • 同城手机网站开发免费的编程自学网站
  • 做网站年薪百万站长工具友链检测
  • 襄阳商城网站建设网络推广求职招聘交流群
  • 网站建设视频网页设计模板网站
  • 做外链选择那些网站优化营商环境应当坚持什么原则
  • html做网站实战教程网站优化排名资源
  • 网站域名出售推广seo公司
  • 网站空间和流量灰色行业推广渠道