算法学习(一)

1.Maximum of array(插入排序算法)

说明:给定一组数组,进行排序,得到最大值和最小值。

1 input data:
2 1 3 5 7 9 11 ... 295 297 299 300 298 296 ... 12 10 8 6 4 2
3 
4 answer:
5 300 1

利用插入排序算法进行排序:

 1 Array = [27871, -16173, -31511, -13095, 30159, -55191, -15285, 14394, 69666, -17640, -20828, 45000]
 2 
 3 for j in range(1, len(Array)):
 4     key = Array[j]
 5     i = j - 1
 6     while i >=0 and Array[i] > key:
 7         Array[i+1] = Array[i]
 8         i = i - 1
 9     Array[i+1] = key
10         
11 print(Array[len(Array)-1], end=' ')
12 print(Array[0], end=' ') 
#输出:69666 -55191

 

2.Vowel Count(嵌套循环)

说明:字符串处理,给出几行文字,计算每行文字中元音字母的数量。(元音:a, o, u, i, e, y )注意:把y也计入这次任务。

1 input data:
2 4
3 abracadabra
4 pear tree
5 o a kak ushakov lil vo kashu kakao
6 my pyx
7 
8 answer:
9 5 4 13 2

利用多个for循环解决问题。

 1 texts = ['abracadabra',
 2          'pear tree',
 3          'o a kak ushakov lil vo kashu kakao',
 4          'my pyx']
 5 
 6 letters = ['a', 'o', 'u', 'i', 'e', 'y']
 7 
 8 for i in range(len(texts)):
 9     total = 0
10     for letter in letters:
11         for n in range(len(texts[i])):
12             if texts[i][n] == letter:
13                 total += 1
14     print(total, end=' ')
输出:5 4 13 2

 

posted @ 2017-08-03 09:08  ZT1994  阅读(290)  评论(0编辑  收藏  举报