0

我正在處理文本。例如, String [] array = {cat,rat,cat,bat,cat,cat,bat,fat,mat} 我想查找該數組中每個單詞的最後一次出現以及最後一次出現之後的單詞數。 我該怎麼做?統計字符串數組中每個字最後出現後的字數

+0

請提供預期的輸出。 –

+0

哦!我忘了提及我在java工作... –

回答

3

迭代並向後計數數組,並且以這種方式遇到的每個新單詞都是該單詞在數組中的最後一個或唯一的實例。你可以把這些單詞放在散列集中來檢查你是否已經看過它們。每當你用這種方法檢測到一個新單詞時,你就可以從計數器中得到它後面的單詞數量,或者通過計算array.length - currentPosition

0

如果您要使用字符串,則有一個與RegEx in DotNet的解決方案。

要在這裏搜索一個數組是一個簡單的例子:

using System; 

class Program 
{ 
    static void Main() 
    { 
    // 
    // Use this array of string references. 
    // 
    string[] array1 = { "cat", "dog", "carrot", "bird" }; 
    // 
    // Find first element starting with substring. 
    // 
    string value1 = Array.Find(array1, 
     element => element.StartsWith("car", StringComparison.Ordinal)); 
    // 
    // Find first element of three characters length. 
    // 
    string value2 = Array.Find(array1, 
     element => element.Length == 3); 
    // 
    // Find all elements not greater than four letters long. 
    // 
    string[] array2 = Array.FindAll(array1, 
     element => element.Length <= 4); 

    Console.WriteLine(value1); 
    Console.WriteLine(value2); 
    Console.WriteLine(string.Join(",", array2)); 
    } 
} 

您也可以看看到MSDN Example

希望幫助 問候

0

在Ruby:

arr = [:cat,:rat,:cat,:bat,:cat,:cat,:bat,:fat,:mat] 
hash = {} 
arr.reverse.each_with_index {|item, index| hash[item]=index unless hash.has_key?(item)} 
hash 
=> {:mat=>0, :fat=>1, :bat=>2, :cat=>3, :rat=>7} 
相關問題