题目:在字符串中找出连续最长的数字串,并把这个串的长度返回;如果长度相同,返回最后一个连续字符串

样例输入
abcd12345ed125ss123456789
abcd12345ss54321

样例输出
输出123456789,函数返回值9
输出54321,函数返回值5

函数原型:
   int Continumax(String intputStr,  StringBuffer outputStr)

输入参数:
   String intputStr  输入字符串

输出参数:
   StringBuffer outputStr  连续最长的数字串,如果连续最长的数字串的长度为0,应该返回空字符串

返回值:
   int 连续最长的数字串的长度

实现代码:

func findLongestNum(str:Array<String>){

var maxLengthNum:Int = 0                        //定义最长数字字符串的长度

var maxLengthNumStr:Array<String> = []  //用来保持最长字符串

var nowLengthNum:Int = 0                        //用于储存当前连续数字字符的字符串长度

var nowLengthNumStr:Array<String> = [] // 用于储存当前连续的数字字符串

for (var i = 0 ; i < str.count ; i++){

if (str[i] < "9" || str[i] > "0"){              //当前的字符串为数字时

nowLengthNum++         //当前连续数字字符串长度

nowLengthNumStr.append(str[i])    // 把当前连续的数字字符串赋予临时的字符串数组中

if(nowLengthNum > maxLengthNum){  // 当当前的字符串长度大于最大字符串长度时,把当前的字符串长度以及字符串赋予最大连续数字字符串和长度

maxLengthNum = nowLengthNum

maxLengthNumStr = nowLengthNumStr

}

}

if (str[i] > "9" || str[i] < "0"){         //一旦出现非数字字符串,立即重置临时当前的连续字符串与连续字符串长度

nowLengthNum = 0

nowLengthNumStr = []

}

}

println(maxLengthNum)

println(maxLengthNumStr)

}

//验证

var str2 = ["a","b","c","d","1","2","3","4","5","s","s","2","3","4","4","5","3","4","5","3","4"]

findLongestNum(str2)

//************************************输出结果*****************************************//

"10"

["2","3","4","4","5","3","4","5","3","4"]

Swift一些数据结构题目的编码实现的更多相关文章

  1. 高可用Redis(一):通用命令,数据结构和内部编码,单线程架构

    1.通用API 1.1 keys命令和dbsize命令 keys * 遍历所有key keys [pattern] 遍历模式下所有的key dbsize 计算Redis中所有key的总数 例子: 12 ...

  2. Redis入门到高可用(四)—— Redis的五种数据结构的内部编码

    Redis的五种数据结构的内部编码

  3. Redis的五种数据结构的内部编码

    type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串).hash(哈希). list(列表).set(集合).zset(有序集合),但这些只是Redis对外的数据结构. 实 ...

  4. [SinGuLaRiTy] (树形)数据结构题目复习

    [SinGuLaRiTy-1023] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 普通平衡树 题目描述 你需要写一种数据结构(可参考题目标 ...

  5. python基础语法、数据结构、字符编码、文件处理 练习题

    考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...

  6. 程序员代码面试指南 IT名企算法与数据结构题目最优解

    原文链接 这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现.针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮 ...

  7. UVA10562 数据结构题目

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  8. 程序员代码面试指南:IT名企算法与数据结构题目最优解

      第1章栈和队列 1设计一个有getMin功能的栈(士★☆☆☆) 1由两个栈组成的队列(尉★★☆☆) 5如何仅用递归函数和栈操作逆序一个栈(尉★★☆☆) 8猫狗队列(士★☆☆☆)10用一个栈实现另一 ...

  9. Swift 函数式数据结构 - 链表

    本文将使用Swift实现一个标准链表,在实现的过程中,遵守函数式编程的规则,无副作用,可以看到和C语言的实现还是有较大的差异. 预备知识 enum 的各种用法 swift的基本的模式匹配( patte ...

随机推荐

  1. iOS -- 处理推送消息

    简介 很多应用都会实现推送功能,我们可以集成第三方框架实现推送功能,比如: JPush推送:https://www.jpush.cn 个推:http://www.getui.com 下面来说说收到推送 ...

  2. php项目中使用memcache

    memcache为分布式内存缓存系统,通过在内存中存取数据和对象减少对数据库的访问从而减轻数据库的负载,memcache分为客户端和服务端,服务端为C实现,有现成的服务端应用程序,无需开发,只需要配置 ...

  3. 关于ASPXGridview的双击事件弹出 【转】

    在网上找了好长时间,关于ASPXGridview的双击事件弹出ASPxPopupControl,也没有找到适合自己的代码,这里将自己编写出来的代码与大家分享一下 希望我的代码能够对你有所帮助. 直接上 ...

  4. CreateFile函数详解

    CreateFile函数详解 CreateFile The CreateFile function creates or opens the following objects and returns ...

  5. OpenSuse 中目录中文路径改为英文路径

    在很多发行版中可以通过: export LANG=en_US xdg-user-dirs-gtk-update 将主目录的英文路径名改为中文,然后恢复: export LANG=zh_CN 但是Ope ...

  6. 自定义Toast解决快速点击时重复弹出,排队无止尽

    解决办法:自定义MyToast类: public class MyToast { /** 之前显示的内容 */ private static String oldMsg ; /** Toast对象 * ...

  7. REVERSE-极客大挑战-geek2.apk

    嗯 一道apk的题目,题目本身并不是很难,但是我用的python却坑了我小半天...不过在纠错的过程中我也学到了不少东西 链接:http://pan.baidu.com/s/1i5LkJDr  密码: ...

  8. linux中模块的构建,传参,和printk函数的简单使用

    静态编译,动态加载应用想访问内核需要通过系统调用 驱动:1.模块(打包,加入内核)2.内核机制3.操作硬件 在Kconfig里面配置menuconfig的时候,不同的类型会在图形化界面的终端显示不用的 ...

  9. Oracle 导入导出--and一些知识,备忘

    这两天在做迁移Ora数据库,有一个圆友帮忙,哈哈,两个臭皮匠顶半个诸葛亮. 本来以为很简单的就imp和exp就欧了,结果各种状况百出,百度了老多,学到好多东西. 你的导出:exp yc/yc@orcl ...

  10. 用Python3实现表达式求值

    一.题目描述 请用 python3 编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描 ...