第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

怎么把坐標(biāo)值保存到一維數(shù)組里

怎么把坐標(biāo)值保存到一維數(shù)組里

一葉追尋 2016-12-07 16:06:43
最好能提供一個(gè)示例
查看完整描述

3 回答

?
朕日理萬(wàn)機(jī)

TA貢獻(xiàn)27條經(jīng)驗(yàn) 獲得超28個(gè)贊

題目不是很完整。我理解是比如說(shuō)把n個(gè)(二維)坐標(biāo)值,保存到長(zhǎng)為n的一維數(shù)組里,數(shù)組里每個(gè)元素對(duì)應(yīng)一個(gè)坐標(biāo)?

取巧的方法,因?yàn)槟銢](méi)說(shuō)一維數(shù)組是什么類型的,比如你定義一個(gè)Coordinate類,里面存儲(chǔ)坐標(biāo)值:

class?Coordinate{
????public?int?x;
????public?int?y;
}

那你的一維數(shù)組就存儲(chǔ)這個(gè)Coordinate類

Coordinate[]?array

如果你的數(shù)組要求是個(gè)int類型的,這看起來(lái)像是關(guān)系到可計(jì)算理論,可數(shù)和等勢(shì)的問(wèn)題了。說(shuō)白了就是讓二維(假設(shè)你是二維坐標(biāo)值)數(shù)和自然數(shù)建立一一映射的關(guān)系??雌饋?lái)像是個(gè)算法題,記得以前見(jiàn)過(guò)這種類似的面試題。

要求是首先你的坐標(biāo)值不可以是實(shí)數(shù),因?yàn)閷?shí)數(shù)本身不可數(shù),更別提二維實(shí)數(shù)了。

假設(shè)你的坐標(biāo)也全是int類型。那么問(wèn)題轉(zhuǎn)化為如何建立一對(duì)<int, int> 和 一個(gè)int 的一一對(duì)應(yīng)的關(guān)系。如果你學(xué)過(guò)有理數(shù)和自然數(shù)是如何一一對(duì)應(yīng)的,應(yīng)該可以解答,因?yàn)橛欣頂?shù)可以看做兩個(gè)自然數(shù)的商。假設(shè)坐標(biāo)值非負(fù),那么可以用三角形數(shù)法,按照組零:(0,0) 組一(0,1) (1,0) 組二(0,2) (1,1) (2,0) 組三(0,3) (1,2) (2,1) (3,0)這樣一路數(shù)下來(lái)。每一組的橫縱坐標(biāo)相加等于組號(hào),而第k組有k+1個(gè)坐標(biāo)。

比如給你個(gè)坐標(biāo)(m,n),先找它對(duì)應(yīng)的組是m+n。在它之前的組總共有(m+n+1)*(m+n)/2個(gè)坐標(biāo)了,再加上(m,n)是這一組的第m+1個(gè)坐標(biāo)(或者叫偏移量),所以(m,n)是第(m+n+1)*(m+n)/2+m+1個(gè)坐標(biāo),你如果喜歡從零開(kāi)始計(jì)數(shù),就是(m+n+1)*(m+n)/2+m。于是成功將(m,n)映射成為了一個(gè)自然數(shù)。舉例(3,4)對(duì)應(yīng)的自然數(shù)就是31,把它作為相應(yīng)的一維int數(shù)組元素。

輸入(0,0), (1,2), (3,4)

輸出array={0,7,31}

而從自然數(shù)解碼出二維數(shù)組,就把上面的過(guò)程反過(guò)來(lái)。

如果考慮負(fù)數(shù),比較方便的比如用菱形數(shù)法,|x|+|y|=k作為第k組,該組有4k個(gè)元素,然后從(0,k)開(kāi)始順時(shí)針計(jì)算偏移量。不贅述了。

把二維坐標(biāo)擴(kuò)展到任意有限維有理數(shù)都是可以的,因?yàn)槎际强蓴?shù)的。

查看完整回答
反對(duì) 回復(fù) 2016-12-09
?
歌神彭于晏

TA貢獻(xiàn)14條經(jīng)驗(yàn) 獲得超3個(gè)贊

? 百度上找的,,我也要學(xué)習(xí)一下

java將動(dòng)態(tài)產(chǎn)生的坐標(biāo)值存到數(shù)組當(dāng)中,可以將數(shù)據(jù)放入二維數(shù)組中,如下代碼:

public?class?test{

????public?static?void?main(String[]?args){

????????int?[]?arr1?=?{1,?2,?3,?4,?5,?6,?7,?8,?9,?10};?//?假設(shè)這是你的坐標(biāo)(1,2),(3,4),……

????????int?[][]?arr2?=?new?int[arr1.length?/?2][2];?//?創(chuàng)建一個(gè)行為原數(shù)組長(zhǎng)度一半,列為2的二維數(shù)組

????????for?(int?i?=?0;?i?<?arr1.length;?i++)?{

????????????//?遍歷原數(shù)組,賦值給新數(shù)組

????????????arr2[i?/?2][i?%?2]?=?arr1[i];

????????}

????????for?(int?i?=?0;?i?<?arr2.length;?i++?)?{

????????????for?(int?j?=?0;?j?<?arr2[i].length;?j++?)?{

????????????????System.out.print(arr2[i][j]?+?"?");

????????????}

????????????System.out.println();

????????}

????}?

}

??


查看完整回答
反對(duì) 回復(fù) 2016-12-07
  • 3 回答
  • 0 關(guān)注
  • 5494 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)