iT邦幫忙

1

C# 做 leetcode 解答問題

  • 分享至 

  • xImage

先上我目前正在做的題目
https://ithelp.ithome.com.tw/upload/images/20231230/20149954zSk85rwGag.png
https://ithelp.ithome.com.tw/upload/images/20231230/20149954Tbi0ukEUr9.png

我在做leetcode 前 會先在visual studio 跑一遍,但是我明明跑出來結果是可行的,但是打到leetcode RUN完之後,跟我預期的結果不一樣

以下是我在visual studio 的程式碼:

        int[] nums = { 0, 1, 2, 2, 3, 0, 4, 2 };
        int val = 2;

        int m = nums.Length;
        nums = nums.Where(y => y != val).ToArray();
        int k = nums.Length;

        Console.WriteLine("K: "+k);

        Console.WriteLine("   " );
        
        foreach (int x in nums)
            Console.WriteLine(x);

以下是visual studio 跑出來的結果
https://ithelp.ithome.com.tw/upload/images/20231230/20149954JjMB2kR77y.png

以下是我在leetcode上面打得程式碼

    public class Solution
    {
        public int RemoveElement(int[] nums, int val)
        {
        int m = nums.Length;
        nums = nums.Where(y => y != val).ToArray();
        int k = nums.Length;
        return k;
        }

    }

以下是leetcode 跑出來的結果

https://ithelp.ithome.com.tw/upload/images/20231230/20149954onDWhzTeRV.png

為什麼會有這種落差,是因為leetcode 不支援Lambda 還是linQ嗎?

看更多先前的討論...收起先前的討論...
也來一陣子了,先把code 貼好吧.

你用 for each 把 num array 內容 print 出來, leetcode 那邊沒有啊,就把整個array print 出來. 顯示方式不一樣啊. 你先試試看 你的部分 直接print array
出來啊.
s82910g iT邦新手 5 級 ‧ 2023-12-30 12:37:34 檢舉
用foreach 那段只是為了在終端結果顯示,對於nums沒有任何更動
但我還測試了一次在leetcode打,確實沒有改變
你知道我說的意思嗎? 你的是一個一個印 ,每個都會跳行.
那邊是印出來, 接著印, 不跳行.
s82910g iT邦新手 5 級 ‧ 2023-12-30 14:59:47 檢舉
我從你的文字理解到的是
foreach (int x in nums)
Console.WriteLine(x);
改成
foreach (int x in nums)
Console.Write(x);
是這個意思??
https://stackoverflow.com/questions/16265247/printing-all-contents-of-array-in-c-sharp

你的leetcode, return k; 那leetcode 是怎樣列印?
你用的列印方式與他不同, 一個是水平顯示,一個是逐個列印.
若只看內容,不限於格式,那就自行比對正確性.
若要水平列印,就改一下方式. 至於要不要改,那看你自己.
s82910g iT邦新手 5 級 ‧ 2023-12-30 22:03:52 檢舉
不太懂耶,我看其他人的正確解答 也都是不用列印
應該跟列印沒關係吧?
s82910g iT邦新手 5 級 ‧ 2023-12-31 01:43:54 檢舉
我後來發現問題點,是因為我更改了nums的記憶體位置值
但是leetcode是會偵測nums原先那個記憶體位置值來作為最終答案
所以我不能夠直接改變他的位置,只能動他變數的值
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答