scala
胖大海瘦西湖
乐观,积极进取
展开
-
@tailrec注解与“蹦床”机制
import scala.util.control.TailCalls._import scala.annotation._object Sum extends App{ //1 def evenLength(xs:Seq[Int]):TailRec[Boolean]= if(xs.isEmpty) done(true) else tailcall(oddLength(xs.tail原创 2016-07-23 10:38:32 · 1345 阅读 · 0 评论 -
scala 回溯法解决八皇后问题
object EightQueen extends App{ val queenArray = new Array[Int](8) var num = 0 def printqueen(){ for(i <- 0.until(8);j <- 0.until(8)){ if(j == queenArray(i)) print('*') else print('-') if(j原创 2016-09-13 12:07:01 · 978 阅读 · 0 评论 -
scala 判断字符串是否为数字
使用正则来判断:scala> val regex="""^\d+$""".rregex: scala.util.matching.Regex = ^\d+$scala> val test = Array("123","abc")test: Array[String] = Array(123, abc)scala> test.filter(regex.findFirstMatchIn原创 2016-09-15 19:26:05 · 18187 阅读 · 0 评论 -
scala 正则表达式匹配子串
scala中的正则与其他语言中的正则的用法有些不同,大致有两种用法:一、匹配字符串中所有符合特定格式的串,比如匹配所有整数:scala> val numpattern ="""\d+""".rnumpattern: scala.util.matching.Regex = \d+scala> numpattern.findAllIn("99 a,98 b").toArrayres32原创 2016-09-15 21:35:09 · 6301 阅读 · 0 评论 -
scala 动态规划解决0-1背包问题
object BeiBao extends App{ val num = 5 val volumn = 100 val thing = Array((92,77),(22,22),(87,29),(46,50),(90,99)) //(价值,重量) // val volumn = 10 // val thing = Array((6,2),(3,2),(5,6),(4,5),(6,4))原创 2016-09-16 22:39:49 · 441 阅读 · 0 评论 -
scala 回溯法解决0-1背包问题
object BeiBao_huishuo extends App{ val num = 5 val volumn = 100 val thing = Array((92,77),(22,22),(87,29),(46,50),(90,99)) //(价值,重量) // val volumn = 10 // val thing = Array((6,2),(3,2),(5,6),(4,5原创 2016-09-17 08:42:11 · 460 阅读 · 0 评论 -
scala 动态规划解决完全背包问题
object WanQuanBeiBao extends App{ val num = 5 val volumn = 100 //法一 var beg = System.currentTimeMillis() val thing = Array((92,77),(22,22),(87,29),(46,50),(90,99)) //(价值,重量) // val volumn = 10原创 2016-09-17 12:06:46 · 780 阅读 · 0 评论 -
scala 运行计时 App scala.time
object HelloWorld extends App{ import scala.util.Properties Properties.setProp("scala.time","true") println("Hello World!")}scala.time的介绍请看:学习Scala第一篇-从hello World开始原创 2016-09-17 15:23:10 · 3086 阅读 · 0 评论 -
Jungle Roads scala语言
原博客:POJ 1251 Jungle Roads 解题报告object JungleRoads extends App{ val father = new Array[Int](27) var linecount = 0 val A = 'A'.toInt def find(i:Int):Int = { if(i == father(i)) i else{ father转载 2016-10-10 16:40:02 · 283 阅读 · 0 评论 -
scala 深搜法解决八皇后问题
object EightQueen2 extends App{ val pos = new Array[Int](8) val rowvisited = new Array[Boolean](8) val colvisited = new Array[Boolean](8) val maindiagonalvisited = new Array[Boolean](15) val coun原创 2016-09-13 17:48:37 · 785 阅读 · 0 评论 -
scala 广度优先搜索解决迷宫问题
//广度优先搜索:一般是搜索一路最短路径,并不搜索出所有路径,也不搜索出所有最短的路径object MiGong3 extends App{ import scala.collection.mutable.ArrayBuffer val migong = Array( Array(1,1,1,1,1,1,1,1,1,1), Array(1,0,0,1,1原创 2016-09-14 18:46:49 · 741 阅读 · 0 评论 -
scala parse使用记录
1、import scala.util.parsing.combinator._class ExprParser extends RegexParsers{ val number="[0-9]+".r def expr:Parser[Any]=term ~ opt(("+" | "-") ~ expr) def term:Parser[Any]=factor ~ rep("*" ~原创 2016-07-23 10:47:31 · 2558 阅读 · 0 评论 -
scala 带有特质的对象 举例
1、编写Logged.scala:trait Logged{ def log(msg:String){}}class BankAccount(initialBalance:Double){ //var balance=initialBalance private var balance=initialBalance def deposit(amount:Double)={balan原创 2016-07-03 13:34:31 · 579 阅读 · 1 评论 -
scala 叠加在一起的特质 举例
1、编写Logged.scala:trait Logged{ def log(msg:String){}}class BankAccount(initialBalance:Double){ //var balance=initialBalance private var balance=initialBalance def deposit(amount:Double)={balan原创 2016-07-03 14:08:42 · 1043 阅读 · 1 评论 -
scala记录
1、spark-submit app.py 2、默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md3、scala> val file=sc原创 2016-07-17 22:25:18 · 526 阅读 · 0 评论 -
scala图形拼接
import collection.mutable.ArrayBufferclass ASCIIArt(str:String){ val arr:ArrayBuffer[ArrayBuffer[String]] = new ArrayBuffer[ArrayBuffer[String]]() if (str != null && !str.trim.eq("")){ str.sp原创 2016-08-04 19:30:31 · 648 阅读 · 0 评论 -
warning: non-variable type argument Any in type pattern scala.collection.immutable.Set[Any] (the und
参考:http://stackoverflow.com/questions/1094173/how-do-i-get-around-type-erasure-on-scala-or-why-cant-i-get-the-type-parametehttp://stackoverflow.com/questions/25222989/erasure-elimination-in-scal原创 2016-08-17 20:22:41 · 1705 阅读 · 0 评论 -
spark scala Apriori
val mydata = Array(Array(1,3,4,5),Array(2,3,5),Array(1,2,3,4,5),Array(2,3,4,5))val pamydata = sc.parallelize(mydata)val C1 = pamydata.flatMap(_.toSet).distinct().collect().map(Set(_))val D = mydata原创 2016-08-18 10:36:58 · 1915 阅读 · 0 评论 -
scala 回溯法解决迷宫问题
//回溯法(递归版本)object MiGong extends App{ import scala.collection.mutable.ArrayBuffer val migong = Array( Array(1,1,1,1,1,1,1,1,1,1), Array(1,0,0,1,1,0,0,1,0,1), Array(1,0,0,原创 2016-09-14 18:43:55 · 433 阅读 · 0 评论 -
使用Scala Parser解析JSON
原博客地址:使用Scala Parser解析JSONimport scala.util.parsing.combinator._class JsonParser extends JavaTokenParsers { def jNum: Parser[Double] = floatingPointNumber ^^ (_.toDouble) def jStr: Parser[String转载 2016-10-07 10:53:38 · 5226 阅读 · 0 评论