1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
Task 1: Keyboard Word
You are given an array of words. Write a script to print all the words
in the given array that can be typed using alphabet on only one row of
the keyboard.
Let us assume the keys are arranged as below:
Row 1: qwertyuiop
Row 2: asdfghjkl
Row 3: zxcvbnm
Example 1
Input: @words = ("Hello","Alaska","Dad","Peace")
Output: ("Alaska","Dad")
Example 2
Input: @array = ("OMG","Bye")
Output: ()
MY NOTES: very easy. Lower case each word, then match it against /^[qwertyuiop]+$/ for the first row, similarly regexes for the second and third rows.
GUEST LANGUAGE: As a bonus, I also had a go at translating ch-1.pl into C
(look in the C directory for that). replaced regexes with a custom: match a
sequence of <these chars:string>.
Task 2: H-Index
You are given an array of integers containing citations a researcher
has received for each paper. Write a script to compute the researcher's
H-Index. For more information please checkout:
https://en.wikipedia.org/wiki/H-index
The H-Index is the largest number h such that h articles have at least
h citations each. For example, if an author has five publications, with
9, 7, 6, 2, and 1 citations (ordered from greatest to least), then the
author's H-index is 3, because the author has three publications with 3
or more citations. However, the author does not have four publications
with 4 or more citations.
Example 1
Input: @citations = (10,8,5,4,3)
Output: 4
Because the 4th publication has 4 citations and the 5th has only 3.
Example 2
Input: @citations = (25,8,5,3,3)
Output: 3
The H-Index is 3 because the fourth paper has only 3 citations.
MY NOTES: also pretty easy. The Wikipedia entry sheds more light:
"First we order the citations from the largest to the lowest value.
Then, we look for the last position in which citation[h] >= h."
(This assumes array indexes start at 1, I think).
GUEST LANGUAGE: As a bonus, I also had a go at translating ch-2.pl into C
(look in the C directory for that)
|