→ mikemike1021: 沒有註解掉 for-loop 的還有那段 nums = ... map 那04/28 04:57
→ mikemike1021: 段嗎? 如果沒有的話,那函式內是有改掉的,但只有04/28 04:57
沒有註解掉for loop那段的,就沒有nums map那段
→ mikemike1021: 改掉前三個值,但 nums 本身長度沒有被改04/28 04:57
→ mikemike1021: int [] nums 傳進函式的只是陣列位置的,nums = ...04/28 05:04
→ mikemike1021: map 那段把位置換掉而已,並沒有更改到外面的,但是04/28 05:04
→ mikemike1021: main nums 指的位置還是原先那塊,所以外面的不會04/28 05:04
→ mikemike1021: 變。04/28 05:04
※ 編輯: ntpuisbest (36.227.32.51 臺灣), 04/28/2022 08:41:29
但是註解掉 map 沒有註解掉for loop版本的
為何函數內的nums跟 main的nums是一致的
就真的有改到nums呢
※ 編輯: ntpuisbest (36.227.32.51 臺灣), 04/28/2022 09:12:12
推 lycantrope: 傳入func的是nums位置,nums[i]是將數值放入指定位置04/28 09:19
→ lycantrope: 但map則是產生新的地址命名為nums,原始的nums不會變04/28 09:20
→ ssccg: nums = intList.stream().mapToInt(i -> i).toArray();04/28 12:33
→ ssccg: 是產生新的Array,將reference存到nums這個變數04/28 12:34
→ ssccg: 當然就不是原本nums指到的Array04/28 12:35
→ ssccg: 跟for相等的寫法是 IntStream.range(0, intList.size())04/28 12:40
→ ssccg: .forEach(i -> nums[i]=intList.get(i)); 04/28 12:45
→ ssccg: 另外你想做個移除元素的方法,但是陣列長度根本不能改,選 04/28 12:47
→ ssccg: 用這個容器你從很基本的地方就錯了04/28 12:48
對,他說要做in place 但是我不會做移除的方法,所以才想說複製到arraylist裡面
待會再來貼貼看找到的解答
謝謝
※ 編輯: ntpuisbest (36.227.32.51 臺灣), 04/28/2022 13:55:48
https://i.imgur.com/X7cSRZE.jpg
對,陣列長度根本不能改
所以我發現他的所謂的移除
其實只是把他不要的元素
3
把它取代掉?
※ 編輯: ntpuisbest (101.12.113.5 臺灣), 04/28/2022 18:17:41
→ gasbomb: 題目貼上來看看 沒頭沒尾的看不懂你的問題 04/28 23:47
→ gasbomb: 啊 看到了 是leetcode第27題 這題你要做的是把指定的元素 04/28 23:50
→ gasbomb: 移到array的最後 也就是[3,1,2,3,2]變成[1,2,2,3,3]才對04/28 23:53
→ gasbomb: 同學題目不要只看1/4啊 第二段有說不能改陣列長度的語言( 04/29 00:09
→ gasbomb: 就是java)要用交換的 然後第四段有說不能夠宣告新的陣列04/29 00:09
其實我的主要問題不是這題怎麼解,而是
標題的敘述,但還是感謝你回答,謝謝~
※ 編輯: ntpuisbest (101.12.113.5 臺灣), 04/29/2022 01:02:06
以前用Api習慣了,非常不擅長array的基本操作qq
※ 編輯: ntpuisbest (101.12.113.5 臺灣), 04/29/2022 01:03:14
目前就想說從leetcode explore 一題一題看,雖然平常後端開發很少用到,但總覺得不
能連基本的變數操作都有問題哀qq
※ 編輯: ntpuisbest (101.12.113.5 臺灣), 04/29/2022 01:04:29
→ fgh81113: 這個是沒註解的版本 04/30 23:40
→ fgh81113: 你可以用debug模式一步一步看結果阿 04/30 23:42
→ ntpuisbest: 我的jdk好像真的有些問題跟leetcode不一樣,不過找不 05/04 10:53
→ ntpuisbest: 太到出在哪哈哈 05/04 10:53