亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

'數字長度 - 1];' 是一個范圍還是單個元素?

'數字長度 - 1];' 是一個范圍還是單個元素?

米琪卡哇伊 2022-09-22 10:17:11
我讀了這樣一個旋轉數組的解決方案問題:public class Solution {    public void rotate(int[] nums, int k) {        int temp, previous;        for (int i = 0; i < k; i++) {            previous = nums[nums.length - 1];            for (int j = 0; j < nums.length; j++) {                temp = nums[j];                nums[j] = previous;                previous = temp;            }        }    }}我很困惑,它是一個范圍作為還是單個元素作為?previous = nums[num.lengh -1]nums[0:10]nums[0]
查看完整描述

4 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

它是單個元素,他正在將元素放在位置上,并且內部的值正在與:交換,因為您有:num.length -1nums[j]j=0

temp = num[0];
num[0] = num[num.length-1]
num[num.length-1] = temp;

等等。


查看完整回答
反對 回復 2022-09-22
?
米脂

TA貢獻1836條經驗 獲得超3個贊

它是單個元素,因為 是 一個,只是為您提供數組的最后一個可訪問索引。num.lengh - 1int

如果檢查數組的長度是否為 ,則可以安全地使用數組的長度來確定最后一個可訪問的索引。> 0

數組的長度經常用于像你的循環這樣的循環中:

此處的長度用于確保您不會訪問不可用的索引:

for (int j = 0; j < nums.length; j++)

您可以在不更改功能的情況下編寫稍微不同的條件

for (int j = 0; j <= nums.length - 1; j++)

但是,如果您執行以下操作,您將獲得一個:IndexOutOfBoundsException

for (int j = 0; j <= nums.length; j++)

最后一次迭代將嘗試訪問數字[數字長度],這不存在...


查看完整回答
反對 回復 2022-09-22
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

nums[nums.length - 1];為您提供數組的最后一個位置。它是 -1,因為數組的位置以 0 開頭,而不是以 1 開頭。

如果不寫 -1,則會出現越界異常。


查看完整回答
反對 回復 2022-09-22
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

單身,這是由于你正在執行一個數學表達式,然后從中得到一個valeu。這意味著你取數組列表的長度,然后減去1,然后得到該值,換句話說,你得到最后一個值。

要獲取所有值,您必須像 for 循環等一樣循環。

for (i = 0; i < array.length; i++) {
 System.out.print(array[i]);
}


查看完整回答
反對 回復 2022-09-22
  • 4 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號