从给定字符串中查找按字母顺序排列的最长子字符串

2023-12-28

我一直在研究一个问题,从给定的字符串中按字母顺序查找最长的子字符串。我在 C++ 方面有很多经验,但对 python 完全陌生。我写了这段代码

s = raw_input("Enter a sentence:")

a=0   #start int
b=0   #end integer
l=0   #length
i=0

for i in range(len(s)-1):
    j=i
    if j!=len(s)-1:
    while s[j]<=s[j+1]:
        j+=1
    if j-i>l:  #length of current longest substring is greater than stored substring
        l=j-i
        a=i
        b=j

print 'Longest alphabetical string is ',s[i:j]

但我不断收到此错误

Traceback (most recent call last):
  File "E:/python/alphabetical.py", line 13, in <module>
    while s[j]<=s[j+1]:
IndexError: string index out of range

我在这里做错了什么?再说一遍,我对 python 很陌生!


您可以使用这段简单的代码来实现您想要的

s = 'kkocswzjfq'
char = ''
temp = ''
found = ''
for letter in s:
    if letter >= char:
        temp += letter
    else:
        temp = letter
    if len(temp) > len(found):
        found = temp
    char = letter
print(found)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从给定字符串中查找按字母顺序排列的最长子字符串 的相关文章

随机推荐

  • Scala:分隔延续解释 - 不

    对延续的概念感兴趣 我开始阅读维基 帖子 并找到了这个 简单 的例子 reset shift k Int gt Int gt the continuation k will be the 1 below k 7 1 result 8 如果不
  • 如何开始在 .NET 中创建应用程序 API

    在我工作的公司中 我们有一个用 NET 开发的桌面应用程序 我们希望为其他软件开发人员开放一些部分 我将其视为其他软件可以访问的某种公共方法 有没有这方面的标准方法 最佳实践或其他经验 我想你可以通过 Win32 调用 C C 编程等来做到
  • 如何/在哪里定义 AudioWorkletProcessor

    我刚刚开始使用 Web Audio API 我仔细阅读了 API 文档并看到了几个示例 我的问题可能很微不足道 而且我可能错过了一些基本的东西 我有下面的工作者 javascript 文件 它来自一个我放错了网址的示例 我正在使用 PyCh
  • R“图像”函数的意外转置翻转输出

    假设我有一个矩阵 m lt matrix 1 5 4 5 m 1 2 3 4 5 1 1 5 4 3 2 2 2 1 5 4 3 3 3 2 1 5 4 4 4 3 2 1 5 现在 当我这样做时 image m 我得到了意想不到的输出 所
  • Xamarin.Forms:Visual Studio 升级后的部署问题

    将 Visual Studio Professional 2019 升级到版本 16 9 2 后 当我尝试在 Android 模拟器上部署时 api 28 9 0 我收到以下错误 Error XA0130 Sorry Fast deploy
  • 如何处理看起来像SQL关键字的SQL列名?

    我的专栏之一叫做from 我无法更改名字 因为我没有成功 我可以做类似的事情吗SELECT from FROM TableName或者是否有特殊的语法来避免 SQL Server 被混淆 将列名称括在括号中 如下所示 from变成 来自 s
  • 使用 RDD 中的索引扫描 Spark 中的 Hadoop 数据库表

    那么如果数据库中有一张表如下所示 Key2 DateTimeAge AAA1 XXX XXX XXX AAA2 XXX XXX XXX AAA3 XXX XXX XXX AAA4 XXX XXX XXX AAA5 XXX XXX XXX A
  • 字典中一个键存储多个值

    我有一个数据列表 其中有 2 个值 a 12 a 11 a 5 a 12 a 11 我想使用字典 这样我就可以得到每个键的值列表 第 1 列可能有不同的条目 例如 b 所以我可以根据第1列作为键来排列数据 而第2列是每个键的数据 a 12
  • 为什么 Rails 中不推荐使用 auto_link?

    我意识到它已被拉入单独的宝石中 但原因是什么 这只是简化 Rails 的问题 还是有什么原因让我应该厌倦 auto link gem 说它的目的是 为人们迁移弥合差距 这对我来说意味着 如果我将 Rails autolink 引入到一个新项
  • iPhone 本地存储空间有限制吗?

    我想知道 iPhone 上 localstorage HTML 5 的限制是什么 我读到它大约是 5 Mb 但令我惊讶的是这么小 有任何想法吗 MobileiPhone 和 iPad 上的 Safari 在抛出错误之前将保留 5MBQUOT
  • 无法将队列添加到现有 TFS 2015 构建代理池

    升级到 TFS 2015 后尝试设置构建服务器 我设想的方式是 单代理池 将有 3 个队列 1 每晚构建 2 CI构建 3 门控 验证构建 他们每个人都会有一些代理 目标是进行一些控制 以确保夜间构建不会消耗所有代理 因此门控队列将始终有一
  • SVN合并重新整合缺失的范围但没有要合并的内容

    这是谜语 C code trunk gt svn merge reintegrate http svn e com repos branches lih accept postpone dry run svn E195016 Reinteg
  • PHP:如何查找字符串中 * 通配符的出现

    也许我问的问题有点太平庸了 但我真的不知道如何使用 PHP 检查字符串中是否出现通配符 字符 示例字符串 bcd OR ab d OR abc 无论我尝试使用什么 PHP 函数 它的行为都是不可预测的 我只需要知道通配符是否在字符串中 非常
  • 从 AsyncTask 管理 ProgressDialog 的最佳方法

    我想使用AsyncTask用于管理我的应用程序中的一些业务逻辑 使用的最佳模式是什么onProgressUpdate 的方法AsyncTask在单独的文件中定义 不是作为内部类Activity 我有两个想法 1 最简单的方式 创建Progr
  • 保护控制器除一个(登录)之外的所有操作的最佳方法是什么?

    目前我有 Authorize 我的所有方法的属性AdminController除了Logon action 什么是cleanest反转这个的方法 所以我不必记住向所有方法添加属性 而是仅向无需登录即可使用的方法添加属性 我会更好地移动Log
  • 为什么我在使用 MockMvc 和 JUnit 时收到错误 403?

    我有一个带有 spring security 3 2 的 spring mvc 3 2 5 应用程序 我用这个方法配置了我的 SecurityConfig class Override protected void configure Ht
  • 笔记本电脑触控板的 WM_INPUT 上的 RAWINPUTHEADER hDevice 为 null

    我使用原始输入来处理通用设备的输入 到目前为止 我的所有测试用例都有效 键盘 游戏板和鼠标 但我的笔记本电脑触控板给我带来了一个奇怪的问题 当我得到一个WM INPUT https learn microsoft com en us win
  • 创建 Windows 服务的最简单语言

    构建 Windows 服务最简单的语言是什么 在这种情况下 最简单的定义是最少的代码量和最低的语言入口点 冒着陈述显而易见的风险 如果您有任何 C C Java 背景 我认为 C 为您提供了最低的切入点 假设您使用的是 Visual Stu
  • 在构造函数中注册weak_ptr观察者

    我正在尝试重写我们的 Observer Observable 实现 以使用 std shared ptr std weak ptr 来消除代码中当前存在的一些令人讨厌的竞争条件 通常 观察者在满足某些条件或构造子对象时注册自己 如下所示 U
  • 从给定字符串中查找按字母顺序排列的最长子字符串

    我一直在研究一个问题 从给定的字符串中按字母顺序查找最长的子字符串 我在 C 方面有很多经验 但对 python 完全陌生 我写了这段代码 s raw input Enter a sentence a 0 start int b 0 end