
LeetCode
记录刷题过程中有价值的知识点。
如化雨
计算机专业,研二在读,目前在准备机器学习算法工程师面试。有任何问题,或者聊天交友,欢迎随时讨论交流,可加V:a1158378958。
展开
-
依图笔试2020/8/28,我是机器人(AC)、多彩珠子最长子串长度(AC)
第一题:我是机器人一个方格,Y轴向下,X轴向右,机器人在左上角,位置(0,0)。输入命令4种:L:左转90度R:右转90度G X:当前朝向走X步(碰壁停止)P:输出位置坐标Python实现AC代码:if __name__ == '__main__': nums = int(input().strip()) for i in range(nums): print("Case #" + str(i+1) + ":") n, m = map(int,原创 2020-08-28 18:08:35 · 1606 阅读 · 0 评论 -
京东8.27算法笔试-滚雪球(动态规划python)
小球从上向下滚,每次只可以滚到左下,下,右下(滚到一个格子里面,把值做和)。计算小球滚到最下一层的最大值。如下:动态规划代码如下:def method(nums): if nums==0: return 0 game = [] for _ in range(nums): game.append(list(map(int, input().strip().split()))) if nums == 1: return gam原创 2020-08-27 21:14:01 · 1410 阅读 · 0 评论 -
2020.8.26广联达笔试第二题——魔法师四种元素平衡(Python)
《XX魔法书》中记载,只有魔法师体内地火水风四种元素平衡的时候才是绝对安全的。某魔法师在给自己做了一个体检,发现自己体内的四种元素数量分别是A,B,C,D,魔法师慌了,这时他看到魔法书中记载了一种转换魔法,可以把任意两个单位的元素转换成任意一种元素。def method(nums): sumnum = sum(nums) avg = sumnum // 4 # print(avg) sub = 0 for i in range(avg, -1, -1):原创 2020-08-27 00:06:57 · 5530 阅读 · 10 评论 -
Python中判断字符是否为字母、数字、字母和数字组合,验证回文串(LeetCode125)
判断字符串是否为字母、数字函数str.isdigit()判断字符是否为数字,函数str.isalpha()判断字符是否为字母,函数isalnum()判断字符是否为数字字母组合。上代码:str1 = '123'str2 = 'abc'str3 = '123abc'error = 'a 1 !'print(str.isdigit(str1), str.isdigit(str2)) ...原创 2020-05-03 12:42:34 · 15162 阅读 · 3 评论 -
LeetCode53:最大子序和(分治思想,Python3实现)
最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。分治法求解思路:将原问题转化为求解子问题,通过子问题的解求解原问题的解。原问题:求整数数组中,具有最大和的连续子数组。子问题:取数组中位于...原创 2020-04-29 11:47:25 · 365 阅读 · 0 评论 -
2020春招机考汇总2:扑克牌打出最小次数、钢琴高昂旋律(拼接递增序列)
题目一:扑克牌打出最小次数有一组扑克牌,面值为:1~10.纸牌打出规则如下:顺子:5张连续牌(如12345)连对:3连对(如112233)对子:如22单牌:如1输入面值的个数如:2 2 2 2 2 3 3 3 3 3输出:打完手上所有牌最小次数Python代码示例如下:import sysdef card_num(nums, k): if len(nums)&l...原创 2020-04-20 13:54:13 · 545 阅读 · 0 评论 -
2020春招机考汇总1(Python):农场养鸡、连续子序列最大值的期望
第一题:农场养鸡n个农场,第i个农场有a[i]只鸡,每天每个农场都会增加k只鸡。每晚农场主都会选择鸡最多的农场,将该农场鸡的个数除以2下取整,在m天后剩下多少只鸡?输入:第一行输入三个int类型n,m,k(1 <= n,m,k <= 10^6)第二行输入n个正整数,表示n个养鸡场初始鸡的个数输出:输出鸡的总数示例:输入:3 3 100100 200 400输出:...原创 2020-04-19 22:55:47 · 672 阅读 · 0 评论 -
剑指 Offer 面试题45:把数组排成最小的数——Python内置函数 map()、__lt__()、join()、sorted()
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。输出结果可能非常大,所以需要返回一个字符串而不是整数。拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0。示例1:输入: [10,2]输出: "102"示例2:输入: [3,30,34,5,9]输出: "3033459"解题代码:class Compare(st...原创 2020-04-01 00:25:42 · 370 阅读 · 0 评论 -
Python中的堆实现:heapq 模块——利用堆结构实现快速访问数据流中的中位数
堆结构堆结构是一种优先队列,可以以任意顺序添加对象,并随时查找或删除最小(大)的元素,或者查找和删除前 K 个最小(大)元素。相比于列表方法min() / max(),这样做的效率要高得多。堆结构是一种特殊的完全二叉树(除了叶子节点层外,其余层节点数均达到最大值,而叶子节点层所有节点都集中在左侧)。根节点的值不大于(小于)其子节点的值,并且子节点也服从这种特性。根节点值不大于子节点的堆称为小根...原创 2020-03-31 11:57:41 · 421 阅读 · 0 评论