栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

剑指 Offer 61. 扑克牌中的顺子 和 剑指 Offer 58 - I. 翻转单词顺序

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

剑指 Offer 61. 扑克牌中的顺子 和 剑指 Offer 58 - I. 翻转单词顺序

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
参赛话题:自动驾驶技术学习记录
话题描述:自动驾驶是当前最火热的技术之一,吸引了无数的开发者与学习者融入其中。然而,自动驾驶技术是系统硬件平台与人工智能、物联网、大数据、云计算等新一代信息技术深度融合的产物,具有知识新、内容杂、难度深、缺少系统教程等特点,让许多开发者眼花缭乱。
本话题通过记录分享自动驾驶相关技术,为大家提供相互学习与交流的平台。话题分享与讨论的技术点包括不限于:自动驾驶算法、自动驾驶系统基础架构、智能驾驶交互技术、虚拟仿真、自动化测试、无人系统与车辆平台、自动驾驶计算平台与传感器等。

文章目录
    • 剑指 Offer 61. 扑克牌中的顺子
    • 解题思路
    • python3代码
    • 剑指 Offer 58 - I. 翻转单词顺序
    • 解题思路
    • python3代码

剑指 Offer 61. 扑克牌中的顺子

从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。

解题思路

根据数组中的五张牌进行讨论:
1、五张无重复的牌,若牌面的最大值减非0的最小值小于5,则返回真,否则返回假;
2、若存在重复牌,且数组中无0,返回假;
3、若数组中存在0,同时存在其他数值的重复牌,返回假,反之(也就是重复牌中只存在0),且最大值减非0的最小值小于5,则为真。

python3代码
class Solution:
    def isStraight(self, nums: List[int]) -> bool:
        #通过集合判断牌面数值有无重复
        nums_set=set(nums)
        set_list=list(nums_set)
        # 找出非0的最小值
        maxv=max(nums)
        minv=14
        for i in nums:
            if i}
                for i in nums:
                    if i not in dic.keys():
                        dic[i]=1
                    else:
                        if i !=0:  #重复牌不为0
                            return False
                        dic[i]=dic[i]+1
                if maxv-minv<5:
                    return True   
                else:
                    return False       
            else:  #重复牌为其他数值牌
                return False 
        

剑指 Offer 58 - I. 翻转单词顺序

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。

解题思路

1、去掉字符串中头尾的空格;
2、根据空格进行分割,这里需要注意s.split(’ ‘)和s.split()在多个连续空格下的区别: s.split(’ ')遇到多个连续空格会依次进行划分,产生空字符串;s.split()将多个连续空格当成一个空格进行划分,不会有空字符串的产生。

python3代码
class Solution:
    def reverseWords(self, s: str) -> str:
        # 去掉头尾空格
        s=s.strip()
        # 按空格进行划分
        word_temp = s.split()
        #逆序重组字符串
        i=len(word_temp)-1
        s_new=''
        while i>=0:
            if i>0:
                s_new = s_new+word_temp[i]+' '
            else:
                s_new = s_new+word_temp[i]
            i=i-1
        return s_new

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/897124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号