第一题 592. Fraction Addition and Subtraction
题目描述
求分数加减法算式的值,结果化为最简分数。
注意:
- 输入字符串只包含0~9,+-/。输出亦然
- 每个分数之前包含±号,若第一个分数为正数,省去+
- 输入只包含有效的最简分数,分子分母范围[1, 10]。若分母为1,表示该分数实际上是一个整数。
- 分数的个数范围[1, 10]
- 分子分母的结果在32位带符号整数范围之内
算法
a1/b1 + a2/b2 = (a1*b2 + a2 * b1) / (b1 * b2)
根据这个公式进行计算,注意这里约分的方法,这个递归的求最大公约数的方法很好。
|
|
第二题 171. Excel Sheet Column Number
题目描述
相关题目:Excel 表格列标题
给定一个出现在Excel表格中的列标题,返回其对应的列号。
样例如题目描述。
算法
可以看错一个26进制的问题,比较简单
|
|
第三题 168. Excel Sheet Column Title
题目描述
给定一个正整数,返回其在Excel表格中对应的列标题。
样例如上。
算法
与之前相似,都是26进制转换问题
|
|
第四题 12. Integer to Roman
题目描述
将Integer 类型转为罗马数字
算法
|
|
第五题 13. Roman to Integer
题目描述
将罗马数字转换成Integer
算法
|
|
第六题 360. Sort Transformed Array
题目描述
利用式子y = a x^2 + b x + c将给定数组中的所有数计算一遍答案,然后按照顺序排好。要求时间复杂度O(n)
算法
如果a > 0开口向上,两边大中间小
如果a < 0,开口向下,两边小中间大
利用双向指针,完成整个排序
|
|
第七题 423. Reconstruct Original Digits from English
题目描述
给定一个非空字符串,包含一组乱序的英文字母表示的数字0-9,按递增序输出这些数字。
注意:
- 输入只包含小写英文字母
- 输入确保是有效的,并且一定可以转换为其原始数字。这意味着不会出现”abc”, “zerone”之类的非法输入
- 输入长度小于50000
算法
zero: Only digit with z
two: Only digit with w
four: Only digit with u
six: Only digit with x
eight: Only digit with g
通过统计,最后计算出结果
|
|
第八题 319. Bulb Switcher
题目描述
有n盏初始处于关闭状态的灯泡。你首先打开所有的灯泡。然后,熄灭所有序号为2的倍数的灯泡。第三轮,切换所有序号为3的倍数的灯泡(开着的就关掉,关着的就打开)。第n轮,你只切换最后一只灯泡。计算n轮之后还有几盏灯泡亮着。
测试用例见题目描述。
算法
对于第i栈灯泡,当i的因子个数为奇数时,最终会是点亮状态,例如9的因子为1,3,9
而当i的因子个数为偶数时,最终会保持熄灭状态,例如8的因子为:1,2,4,8
当且仅当i为完全平方数时,其因子个数为奇数
|
|
第九题 415. Add Strings
题目描述
给定两个以字符串表示的非负整数num1, num2,返回num1与num2的和。
注意:
- num1和num2的长度< 5100
- num1和num2只包含数字0-9
- num1和num2不包含前导0
你不能使用内置的BigInteger库,也不能直接把输入转换为整数。
算法
对应每一位相加,并标记进位符
|
|