随笔分类 - Ruby
摘要:Algorithms: Design and Analysis, Part 1 这门课的第六个编程作业的第一道题,之前的编程作业题都比较直观,而这一题需要用到一点简单的优化,相比其他的题目有意思多了。
题目描述:
输入文件每一行有一个数字(可能有重复),在这所有的数字中,任选不想等的两个数字x和y,并令t=x+y,求问在[-10000, 10000]区间中存在多少这样的t。
阅读全文
摘要:玩游戏学Ruby,通过Ruby脚本来控制一个Warrior通过每一关,每一关的代码难度都会有所增加,使玩家逐渐了解Ruby基本的函数、控制、变量、数组等语言特性的用法。目前才玩到第8关,感觉挺有意思的,作为一个帮助新手学习Ruby的小游戏,如果能就基本语法提供一些样例和说明就更完美了。传送门:https://www.bloc.io/ruby-warrior/
阅读全文
摘要:有些时候我们需要在脚本中执行一个系统命令或运行一个外部程序,Ruby也提供了这样的功能,有如下三种方法可以在Ruby中运行外部程序:1. `command`直接使用`(键盘上Esc下边那个按键)把一个字符串括起来,Ruby会把该字符串当成是一个外部应用调用,等待执行命令的子进程结束并返回应用的输出。在执行command之前,Ruby会先处理command中的反斜杠逃逸符和展开式#{}。在命令返回之后,可以使用$?变量来查看子进程PID和返回值:command = "ls"ret = `#{command}`puts "$?"输出:pid 24331 ex
阅读全文
摘要:Algorithms: Design and Analysis, Part 1 这门课的第二个编程问题。
题目要求的选取pivot的方法共分三种:1)选取第一个;2)选取最后一个;3)选取第一个数、最后一个数和位于中间的数这三个数中的中间数(既不是最大也不是最小),分别计算在这三种方法下快排需要进行多少次比较才能完成。在计算比较数的时候,求中间数所需要的比较数不计入内,也就是说排序一个长度为m的子串所需要的比较数是m-1(pivot分别与m-1个数进行比较)
阅读全文
摘要:交换两个变量的值是非常常用的一个操作,在ruby中这个操作可以用一个语法非常简单的实现:var1, var2 = var2, var1例如aa = 1bb = 2aa, bb = bb, aaputs "#{aa} #{bb}"输出结果为:2 1
阅读全文

浙公网安备 33010602011771号