Functional Programming
lizju
求关注
展开
-
[LeetCode/Scala] 机器人的运动范围
题目 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到...原创 2020-04-08 21:00:55 · 352 阅读 · 0 评论 -
[LeetCode/Scala] 第150场周赛
P1: 单词表示成词向量,再做比较 object P1 { def countCharacters(words: Array[String], chars: String): Int = { def toVec(s:String):Array[Int] = { val A = Array.fill(26)(0) s foreach {ch =...原创 2019-08-18 14:30:14 · 285 阅读 · 0 评论 -
[LeetCode/Scala]第149场周赛解题报告
P1: 我又看了一遍闰年怎么算的 P2: DP P3: 常规操作 P4: 有点坑,用hash记录一下就可以了。 总的来说比较简单,但也没有秒过。 object No149 { object P3 { case class Elem(ch:Char, n:Int) def parser(l:List[Char], xs:List[Elem] = Nil):List[Elem] =...原创 2019-08-11 11:56:39 · 139 阅读 · 0 评论 -
[LeetCode/Scala] 第6场双周赛解题报告
p1: 略 p2: 考虑最终状态一定是所有1连在一起,所以只需要找这样的区间,使得区间内1的个数最多。 P3: 没什么技巧,按题意直接写。 竞赛时,我看题没仔细,忽略了非连续,忽略每个用户只算一次。所以WA了几次。 P4: 从str1映射到str2,必须是单射,再考虑str2可能包含全字符,这种情况必须是自映射才行。 object B6 { object P4 { def canCon...原创 2019-08-11 00:51:38 · 185 阅读 · 0 评论 -
[LeetCode/Scala] 20. 有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: 输入: “([)...原创 2019-07-27 07:50:48 · 142 阅读 · 0 评论 -
[LeetCode/Scala] 14 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 来源:力扣(LeetCode) 链接:https://leet...原创 2019-07-27 07:31:32 · 187 阅读 · 0 评论 -
[LeetCode/Scala] 第148场周赛解题报告
P1:按题意有两种构造方法,只需要比较哪种代价更小就可以了。 object Solution { def movesToMakeZigzag(A: Array[Int]): Int = { def f(i:Int):Int = { A.indices.toList .filter(_%2 == i) ....原创 2019-08-04 11:59:16 · 169 阅读 · 0 评论 -
[LeetCode/Scala] 38. Count and Say
The count-and-say sequence is the sequence of integers with the first five terms as following: 1 11 21 1211 111221 1 is read off as “one 1” or 11. 11 is read off as “two 1s” or 21. 21...原创 2019-07-30 00:52:19 · 125 阅读 · 0 评论 -
[LeetCode/Scala]第143场周赛
排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。 然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。 重复上述过程(每次都比上一次多给出一颗...原创 2019-06-30 15:39:28 · 260 阅读 · 0 评论 -
[HackRank/Scala] Recursive Trees
Creating a Fractal Tree from Y-shaped branches This challenge involves the construction of trees, in the form of ASCII Art. The restriction is, that you need to accomplish this with functional program...原创 2019-06-11 01:27:50 · 239 阅读 · 0 评论 -
[LeetCode/Scala] 452. 用最少数量的箭引爆气球
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。 一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend...原创 2019-06-18 22:47:20 · 128 阅读 · 0 评论 -
[HackRank/Scala] John and Fences
John’s house has bizarre fencing. There are N fences. Though the contiguous fences have the constant width of 1 unit but their height varies. Height of these fences is represented by array H = [h1, h2...原创 2019-06-08 14:48:54 · 122 阅读 · 0 评论 -
[Leetcode/Scala] 688. “马”在棋盘上的概率
已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始。即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1)。 现有一个 “马”(也译作 “骑士”)位于 (r, c) ,并打算进行 K 次移动。 如下图所示,国际象棋的 “马” 每一步先沿水平或垂直方向移动 2 个格子,然后向与之相垂直的方向再移动 1 个格子,共有 8 个可选的位置。 现在 “马” 每一步都从可选...原创 2019-06-08 12:06:50 · 189 阅读 · 0 评论 -
[LeetCode/Scala] 670.最大交换
给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。 示例 2 : 输入: 9973 输出: 9973 解释: 不需要交换。 注意: 给定数字的范围是 [0, 108] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-swa...原创 2019-06-12 17:31:17 · 407 阅读 · 0 评论