求问一道用新语言写wordcount的题# JobHunting - 待字闺中
z*c
1 楼
题目就是经典的wordcount,给一个string array,让统计每个词的出现次数,并按出
现次数多少排序打印出。
如{“a”, "a", "b", "c"} 就打印
a 2
b 1
c 1
不过要求使用一种定义的新语言来写,该语言中的data structure仅包括array,
hashmap。且array和hashmap都是immutable的,也就是不能直接往hashmap里插数,只
能重新创建hashmap在原有的基础上加一个数。
我第一个思路是用hashmap存string和其出现次数。感觉难处有三:一是连把array过一
遍的for loop都不好写,因为该语言中无变量,连i++也没法用,二是hashmap在loop里
创建新的,属于局部变量,下一个loop里貌似就没法用到了 三是 如何sort结果也还没
想出来
第二个思路就是用mapreduce,该语言中包括map和reduce的方法,举的例子中map对一
个integer的array整体加减乘除一个常数得到一个新的array,reducer可以对一个
integer的数组进行sum或者两两相乘得到一个数作为结果。不过对于运用到wordcount
完全无头绪啊。
求各位大牛指点!
现次数多少排序打印出。
如{“a”, "a", "b", "c"} 就打印
a 2
b 1
c 1
不过要求使用一种定义的新语言来写,该语言中的data structure仅包括array,
hashmap。且array和hashmap都是immutable的,也就是不能直接往hashmap里插数,只
能重新创建hashmap在原有的基础上加一个数。
我第一个思路是用hashmap存string和其出现次数。感觉难处有三:一是连把array过一
遍的for loop都不好写,因为该语言中无变量,连i++也没法用,二是hashmap在loop里
创建新的,属于局部变量,下一个loop里貌似就没法用到了 三是 如何sort结果也还没
想出来
第二个思路就是用mapreduce,该语言中包括map和reduce的方法,举的例子中map对一
个integer的array整体加减乘除一个常数得到一个新的array,reducer可以对一个
integer的数组进行sum或者两两相乘得到一个数作为结果。不过对于运用到wordcount
完全无头绪啊。
求各位大牛指点!