摘要:現(xiàn)在,我們查看這些立方體在和平面上的投影。投影就像影子,將三維形體映射到一個二維平面上。返回所有三個投影的總面積。
前言
LeetCode Weekly Contest 96的第一道題目,分值為4分。雖然標(biāo)注為簡單,但是需要有很好的空間想象力。原題目內(nèi)容如下(由于這個題目需要結(jié)合題目中的示例查看,示例為一些圖片,所以建議去原站看):
在 N * N 的網(wǎng)格中,我們放置了一些與 x,y,z 三軸對齊的 1 * 1 * 1 立方體。解題思路
每個值 v = gridi 表示 v 個正方體疊放在單元格 (i, j) 上。
現(xiàn)在,我們查看這些立方體在 xy、yz 和 zx 平面上的投影。
投影就像影子,將三維形體映射到一個二維平面上。
在這里,從頂部、前面和側(cè)面看立方體時,我們會看到“影子”。
返回所有三個投影的總面積。
這個題目初看起來很難,但是我們可以把這個問題分解為三個小問題,分別為頂部、前面和側(cè)面的投影面積,然后通過示例找出這三個小問題的規(guī)律就可以了。
頂部投影面積:通過觀察示例圖可以發(fā)現(xiàn)頂部的投影實際上就是正方體占地面積,即可以看做是二維數(shù)組中不為0的元素個數(shù)
前面投影面積:通過觀察示例圖和二維數(shù)組,不難發(fā)現(xiàn)實際上前面的投影面積就是二維數(shù)組中每行元素的最大值之和
側(cè)面投影面積:通過觀察示例圖和二維數(shù)組,不難發(fā)現(xiàn)實際上前面的投影面積就是二維數(shù)組中每列元素的最大值之和
實現(xiàn)代碼public int projectionArea(int[][] grid) { int result=0; int xy=0;//頂部投影面積,對應(yīng)二維數(shù)組不為0的元素個數(shù) int yz=0;//前面投影面積,對應(yīng)二維數(shù)組每行元素的最大值之和 int xz=0;//側(cè)面投影面積,對應(yīng)二維數(shù)組每列元素的最大值之和 for(int i=0;i
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76616.html
摘要:基于的技術(shù)的圖形組件組件通過對底層技術(shù)的封裝,與其他組件一樣,基于統(tǒng)一的數(shù)據(jù)模型來驅(qū)動圖形顯示,極大降低了圖形技術(shù)開發(fā)的門檻,在熟悉數(shù)據(jù)模型基礎(chǔ)上,一般程序員只需要小時的學(xué)習(xí)即可上手圖形開發(fā)。 在數(shù)據(jù)量很大的2D 場景下,要找到具體的模型比較困難,并且只能顯示出模型的的某一部分,顯示也不夠直觀,這種時候能快速搭建出 3D 場景就有很大需求了。但是搭建 3D 應(yīng)用場景又依賴于通過 3ds...
閱讀 858·2023-04-25 21:21
閱讀 3239·2021-11-24 09:39
閱讀 3084·2021-09-02 15:41
閱讀 2011·2021-08-26 14:13
閱讀 1841·2019-08-30 11:18
閱讀 2798·2019-08-29 16:25
閱讀 519·2019-08-28 18:27
閱讀 1592·2019-08-28 18:17