程序员面试金典 - 面试题 05.08. 绘制直线(位运算)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 05.08. 绘制直线(位运算)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
繪制直線。有個單色屏幕存儲在一個一維數(shù)組中,使得32個連續(xù)像素可以存放在一個 int 里。
屏幕寬度為w,且w可被32整除(即一個 int 不會分布在兩行上),屏幕高度可由數(shù)組長度及屏幕寬度推算得出。
請實現(xiàn)一個函數(shù),繪制從點(x1, y)到點(x2, y)的水平線。
給出數(shù)組的長度 length,寬度 w(以比特為單位)、直線開始位置 x1(比特為單位)、直線結(jié)束位置 x2(比特為單位)、直線所在行數(shù) y。
返回繪制過后的數(shù)組。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/draw-line-lcci
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 一行有幾個int,n = w/32 個
- 從 y 行開始,那么起始下標 idx = y * n
4 ms 7.4 MB
總結(jié)
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 05.08. 绘制直线(位运算)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LintCode 563. 背包问题 V
- 下一篇: LeetCode 77. 组合(回溯)