Arrays, Hashes, and Enumerables(homework for 01)
来源:互联网 发布:常用的网络通信协议 编辑:程序博客网 时间:2024/06/16 13:00
Arrays, Hashes, and Enumerables
——孙琨SealSun
1、问题
Check the Ruby 2.x documentation on Array, Hash and Enumerable as they could help tremendously with these exercises.
Define a method sum(array) that takes an array of integers as an argument and returns the sum of its elements. For an empty array it should return zero.
Define a method max_2_sum(array) which takes an array of integers as an argument and returns the sum of its two largest elements. For an empty array it should return zero. For an array with just one element, it should return that element.
Define a method sum_to_n?(array) that takes an array of integers and an additional integer, n, as arguments and returns true if any two elements in the array of integers sum to n. An empty array should sum to zero by definition.
You can check your progress by running rspec spec/part1_spec.rb, or just running autotest and leaving it running.
2、解答代码
#-------------------------------#-----程序名称:homework for 01#-----编译环境:ruby 2.2.3#-----作 者:孙琨SealSun#-----编写地点:UCAS #-----编写时间:2015年10月05日 #--------------------------------def sum # YOUR CODE HERE sum_num = 0 arr_size=arr.size if arr.size==0 #判断数组元素是否只有一个 return 0 end arr.each do |i| sum_num += i end return sum_numenddef max_2_sum arr # YOUR CODE HERE sum_num_2 = 0 arr_size=arr.size if arr_size==0 #判断数组元素是否为空 return 0 end if arr_size==1 #判断数组元素是否为1个 return arr[0] end arr_sort=arr.sort #先排序,再截取最大的两个数 for i in 1..2 sum_num_2 += arr_sort[arr_size-i] end return sum_num_2enddef sum_to_n? arr, n # YOUR CODE HERE sum_num_n = 0 arr_size=arr.size if arr_size==0 #判断数组元素是否为空 return 0 end if arr_size<=n #判断数组元素是否不多于n个 arr.each do |i| sum_num_n += i end return sum_num_n end arr_sort=arr.sort #先排序,再截取最大的n个数 for i in 1..n sum_num_n += arr_sort[arr_size-i] end return sum_num_nend
- Arrays, Hashes, and Enumerables(homework for 01)
- Strings and Regular Expressions(homework for 02)
- Go-Hashes and Cryptography
- C++.Homework.Classes and Objects.01
- Object Oriented Basics(homework for 03)
- Ember.js 入门指南——枚举(enumerables)
- Ruby converting array of hashes to array of arrays
- hashlib — Secure hashes and message digests
- self-introduction and homework
- B. Filya and Homework
- 1220.Look for homework
- Homework for AofA
- Codeforces Round #371 (Div. 2)B. Filya and Homework
- Codeforces #371(Div.2)B. Filya and Homework【思维】
- codeforces 714B Filya and Homework (水)
- CodeForces 714B. Filya and Homework(模拟)
- 数组和指针(Arrays and Pointers)
- CCI(1)-- Arrays and Strings
- 最小生成树kruskal算法(并查集)
- Linux之rpm命令管理
- onethink后台一直提示验证码不正确,或提示用户名不存在或被禁用
- nginx启动报错(1113: No mapping for the Unicode character exists in the target multi-byte code page)
- 生活随笔:折腾的家具(2)
- Arrays, Hashes, and Enumerables(homework for 01)
- Java版顺序表的浅拷贝与深拷贝(一)
- TPP并不可怕,可怕的是我们开始自我封闭
- 基于Android的卫星菜单效果实现
- ssoj2436放置游戏
- 黑马程序员-Java类和对象
- 非常量引用的初始值必须为左值的问题
- Executor框架结构
- scp命令