簡體   English   中英

c# 中包含如何切割

[英]How cut by contain in c#

我想得到一個等於包含的矩陣:例如我有這個入口:[1,1,2,2,2,3,4,5,5,6] 答案將是:[[1,1], [2,2,2],[3],[4],[5,5],[6]]

int[] arr = [1,1,2,2,2,3,4,5,5,6]
int resCopy = []
int resTotal = []
int visited = []

for(let i=0; i<arr.length; i++) {

            resCopy.push(arr[i])
            if(visited.indexOf(arr[i])==-1){
                visited.push(arr[i])

                    resTotal.Add(resCopy)
                    resCopy=[]

            }
        }

我認為在 javascript 中需要類似的減少 function

另一個例子:

1,2,2,2,1,1,3,4,5,5,6
first order 1,1,1,2,2,2,3,4,5,5,6
the answer [[1,1,1],[2,2,2],[3],[4],[5,5],[6]]

編輯:答案也將是一本字典

字典[<1,[1,1]>,<2,[2,2,2]>,3<[3]>,<4,[4]>,<5,[5,5]>,< 6,[6]>]

我們可以使用 Linq 將類似的項目分組如下

int[] arr = { 1, 1, 2, 2, 2, 3, 4, 5, 5, 6 };
  var arr1 = arr.GroupBy(s1 => s1).Select(s1 => s1.ToArray()).ToArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM