题目一:扑克牌打出最小次数

有一组扑克牌,面值为: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)<10 or k>9: return 0                 # 纸牌种类少于10,判断的牌面大于10终止if nums[k] == 0: return card_num(nums, k+1)      # 该牌面没有牌了,从下一牌面开始判断min_num = float('inf')if k<=len(nums)-3 and nums[k]>=2 and nums[k+1]>=2 and nums[k+2]>=2:   # 优先处理3连对nums[k] -= 2nums[k+1] -= 2nums[k+2] -= 2min_num = min(card_num(nums, k)+1, min_num)nums[k] += 2nums[k+1] += 2nums[k+2] += 2# 处理顺子if k<=len(nums)-5 and nums[k] >=1 and nums[k+1] >= 1 and nums[k+2] >= 1 and nums[k+3] >= 1 and nums[k+4] >= 1:nums[k] -= 1nums[k + 1] -= 1nums[k + 2] -= 1nums[k + 3] -= 1nums[k + 4] -= 1min_num = min(card_num(nums, k)+1, min_num)nums[k] += 1nums[k + 1] += 1nums[k + 2] += 1nums[k + 3] += 1nums[k + 4] += 1# 处理对子if nums[k] >= 2:nums[k] -= 2min_num = min(card_num(nums, k) + 1, min_num)nums[k] += 2# 处理单牌if nums[k] >= 1:nums[k] -= 1min_num = min(card_num(nums, k) + 1, min_num)nums[k] += 1return min_numif __name__ == '__main__':nums = sys.stdin.readline().split()     # 获取输入纸牌数目nums = [int(item) for item in nums]     # 转化为整型min_num = card_num(nums, 0)             # 调用函数计算次数print(min_num)

题目二:拼接递增序列

题目描述:一段钢琴旋律中每个字符都可以用一个小写英文字母表示。当这段英文字母为非递减的,称这段旋律为高昂的,如aaa,bbb,cde。用n段高昂旋律拼接出一段尽可能长的高昂旋律,问最长多长。

输入示例:
3
aaa
bbb
acd
输出:
6

Python 代码示例:

import sysdef max_string(str_list, num):                    # 寻找最大值函数if num == 1: return len(str_list[0])          # 子序列只有一个,直接返回num_list = [0 for item in str_list]           # 分别存储以排序后各个子序列开始的新序列最大长度max_length = 0                                # 记录最大长度for i in range(num):                          # 遍历子序列submax = 0for j in range(0, i):       # 有点像动态规划思想,解决子序列和之前序列构成新序列最大值if str_list[j][-1] <= str_list[i][0] and num_list[j]>=submax: submax = num_list[j]num_list[i] = submax + len(str_list[i])  # 更新以i为新序列尾的最大长度if num_list[i] > max_length: max_length = num_list[i]  # 更新最大值return max_lengthif __name__ == '__main__':num = int(sys.stdin.readline())                    # 子序列个数str_list = []for _ in range(num):str_list.append(sys.stdin.readline().strip())  # 存储子序列str_list = sorted(str_list)                        # 为子序列排序,降低难度max_length = max_string(str_list, num)             # 调用寻找最大值函数print(max_length)

2020春招机考汇总2:扑克牌打出最小次数、钢琴高昂旋律(拼接递增序列)相关推荐

  1. 2020春招机考汇总1(Python):农场养鸡、连续子序列最大值的期望

    第一题:农场养鸡 n个农场,第i个农场有a[i]只鸡,每天每个农场都会增加k只鸡.每晚农场主都会选择鸡最多的农场,将该农场鸡的个数除以2下取整,在m天后剩下多少只鸡? 输入: 第一行输入三个int类型 ...

  2. 疫情对2020春招有什么影响?

    来源:https://www.zhihu.com/question/367880979 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:雷空桑 https://www.zhihu.com/ ...

  3. 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结

    2020春招 / 2021秋招阿里.腾讯.字节.快手.美团 JAVA 开发岗面试高频问题总结 2.1 进程和线程的区别? 2.2 进程的调度算法有哪些?(主要) 2.3 常用 IO 模型? 2.4 s ...

  4. 程序员的面试经历!2020春招四五月份大厂面经 二:(腾讯、网易、斗鱼、富途、美团、快手)

    做了十几年的程序员了,与身边的朋友这次春招经历再结合自身的经历,写出这份春招面经,喜欢的点个收藏一键三连吧! 目录 2020 春招四五月份面经(下) 字节一面(5 月 12 日 牛客视频 60min) ...

  5. 2020春招:联通沃音乐 信息安全岗

    2020春招我太难了(暴风式哭泣) 从考研成绩出来到现在已经一个多月了,面试了四五家公司,做个面试总结复盘一下,也给后面找工作的人一个参考.个人情况:中部不知名211,信息安全专业 联通沃音乐是我的处 ...

  6. 分享下自己的经历!2020春招四五月份大厂面经 一:(腾讯、网易、斗鱼、富途、美团、快手)

    目录 2020 春招四五月份面经 腾讯 PCG 看点一面(4 月 16 日 腾讯会议 60min) PCG 看点二面(4 月 16 日 电话 40min) 网易一面(4 月 17 日 牛客视频 40m ...

  7. 临近毕业,2020春招困惑你的十大问题,你中招了吗?

    通过某知名网站搜集网友分享Android开发面经,很多Android开发者大都遇到了这些问题: 1. 现在安卓的形势,很多人都说不行了,我刚入行没多久是不是要跑路了呀? 2. 我是双非/三本/专科学校 ...

  8. 开篇 | 各城市互联网公司盘点+23届春招招聘信息汇总

    前言 前言:汇总各城市部分公司与春招信息. 文章目录 前言 一.23届春招招聘信息汇总 1.简介 2.招聘信息汇总 二.北京互联网公司盘点 1.思维导图 2.私企 3.外企 4.央企国企 5.银行 三 ...

  9. 同花顺2020春招一面二面在线编程题(java开发)

    笔者目前正在参加2020春招,这里记录一下2020同花顺春招一面和二面中遇到的编程题,不包含笔试哦(其实是因为我忘了,不过笔试中的编程题还是比较简单的). 注:笔者编程过程中被要求共享屏幕. 1.1 ...

最新文章

  1. 微信小程序AES加密解密
  2. 154 Find Minimum in Rotated Sorted Array 2
  3. 华尔街分析师点评NetApp转型战略
  4. (2014年2月7日升级)Ubuntu-14.04-Alpha2-32位简体中文优化封装版
  5. 遍历 HashMap 的 5 种最佳方式,我不信你全知道!
  6. access无法 dolby_如何解决windows 8无法开启杜比音效的问题
  7. Qt的qrc资源文件在Visual studio编译出的Qt程序中不能显示问题解决
  8. 【机器视觉学习笔记】大津法/Otsu最大类间方差法 最佳阈值处理(C++)
  9. matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角
  10. windows phone7 学习笔记14——地理位置服务与反应性扩展框架
  11. 点游出行提供内地与香港游客高质量的旅程
  12. 诺基亚正式收购阿朗:物联网时代再出发
  13. AFNnetworking详解
  14. html双人可悔棋五子棋源码,MATLAB实现五子棋游戏(双人对战、可悔棋).pdf
  15. Java:等额本息还款计算
  16. 细菌的天敌抗生素,如何利用这把救命的双刃剑?
  17. 美团技术委员会前端通道主席洪磊:爱折腾的斜杠青年
  18. link rel=canonical概念和用法(增加页面权重,利于排名)
  19. 微软将开启PC Win10 20H2正式版强制升级
  20. react之redux全局状态管理

热门文章

  1. o.s.b.d.LoggingFailureAnalysisReporte报错
  2. Error creating bean with name ‘cn.cyjt.shoot.service.UserServiceTests‘: Unsatisfied dependency expre
  3. 有关javabean的说法不正确的是_【以案说法】从业人员劳动保护用品费不能省!否则得不偿失.........
  4. 第三章——jXLS Excel标记
  5. 用PHP写一个最简单的解释器Part1
  6. WCF 非http寄宿IIS
  7. 类似于京东商城等的商品分类搜索筛选功能实现
  8. (转)为什么人生气时说话用喊的?
  9. python:实现简单购物车增加商品、删除商品的功能
  10. Matlab中transpose函数的使用