• python_day_6:20180721


    28. 实现strStr()
    实现 strStr() 函数。
    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

    思路:判断needle是否在haystack里面,如果是的话,用find方法返回位置

    class Solution:
    def strStr(self, haystack, needle):
    if needle in haystack:
    return haystack.find(needle)
    else:
    return -1

    520. 检测大写字母
    给定一个单词,你需要判断单词的大写使用是否正确。
    我们定义,在以下情况时,单词的大写用法是正确的:
    1. 全部字母都是大写,比如"USA"。
    2. 单词中所有字母都不是大写,比如"leetcode"。
    3. 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
    否则,我们定义这个单词没有正确使用大写字母。

    思路:三种判断条件都说清楚了,正好对应upper(),lower(),和title()三种情况

    class Solution:
    def detectCapitalUse(self, word):
    if word==word.upper() or word==word.lower() or word==word.title():
    return True
    else:return False

    824. 山羊拉丁文
    给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。
    我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。
    山羊拉丁文的规则如下:
    * 如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。
    例如,单词"apple"变为"applema"。
     
    * 如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。
    例如,单词"goat"变为"oatgma"。
     
    * 根据单词在句子中的索引,在单词最后添加与索引相同数量的字母'a',索引从1开始。
    例如,在第一个单词后添加"a",在第二个单词后添加"aa",以此类推。
    返回将 S 转换为山羊拉丁文后的句子。
    思路:按照规则执行即可,看起来长,但其实不难,本题其实简化了,还应该考虑如果首字母辅音大写,经过goat变换后,第二位字母应该变成大写置顶,而原来的首字母应该变成小写放在后面。还要进一步考虑这个词的长度,如果只有一个字母组成,那又不存在第二个字母了,比较麻烦。好在题目不要求做这么细。

    class Solution:
    def toGoatLatin(self, S):
    split=S.split(' ')
    result=''
    for i in range(len(split)):
    result+=(self.goat(split[i])+'a'*(i+1)+' ')
    return result[:-1]
    def goat(self,word):
    if word.lower()[0] in ['a','e','i','o','u']:
    return word+'ma'
    else:
    return word[1:]+word[0]+'ma'

  • 相关阅读:
    Mysql 系列 | 事务隔离
    Mysql 系列 | 索引(优化器索引选择异常处理)
    Mysql 系列 | count(*)
    K8S入门篇资源调度
    K8S入门篇配置管理
    k8s入门篇资源管理
    k8s入门篇持久化存储管理
    操作crontab
    go Printf 语句的占位符 Format
    go中的 4种 for循环
  • 原文地址:https://www.cnblogs.com/codeinpy/p/9348401.html
Copyright © 2020-2023  润新知