Swift一些数据结构题目的编码实现
题目:在字符串中找出连续最长的数字串,并把这个串的长度返回;如果长度相同,返回最后一个连续字符串
样例输入
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一些数据结构题目的编码实现的更多相关文章
- 高可用Redis(一):通用命令,数据结构和内部编码,单线程架构
1.通用API 1.1 keys命令和dbsize命令 keys * 遍历所有key keys [pattern] 遍历模式下所有的key dbsize 计算Redis中所有key的总数 例子: 12 ...
- Redis入门到高可用(四)—— Redis的五种数据结构的内部编码
Redis的五种数据结构的内部编码
- Redis的五种数据结构的内部编码
type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串).hash(哈希). list(列表).set(集合).zset(有序集合),但这些只是Redis对外的数据结构. 实 ...
- [SinGuLaRiTy] (树形)数据结构题目复习
[SinGuLaRiTy-1023] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 普通平衡树 题目描述 你需要写一种数据结构(可参考题目标 ...
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- 程序员代码面试指南 IT名企算法与数据结构题目最优解
原文链接 这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现.针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮 ...
- UVA10562 数据结构题目
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- 程序员代码面试指南:IT名企算法与数据结构题目最优解
第1章栈和队列 1设计一个有getMin功能的栈(士★☆☆☆) 1由两个栈组成的队列(尉★★☆☆) 5如何仅用递归函数和栈操作逆序一个栈(尉★★☆☆) 8猫狗队列(士★☆☆☆)10用一个栈实现另一 ...
- Swift 函数式数据结构 - 链表
本文将使用Swift实现一个标准链表,在实现的过程中,遵守函数式编程的规则,无副作用,可以看到和C语言的实现还是有较大的差异. 预备知识 enum 的各种用法 swift的基本的模式匹配( patte ...
随机推荐
- 关于C#的内存释放问题
最近在做一个要循环读取xml文件的功能. 想法是读取一个文件,释放一个文件,这样就不会消耗太多内存. 结果运行起来内存不停涨,最后内存溢出.用gc,disponse,异步都没有用. 后来改成relea ...
- java.lang.Boolean->介绍
介绍: public class Boolean extends Object implements Serializable, Comparable<Boolean> Boolean类是 ...
- C++多线程1
一个多线程的实例 #include "stdafx.h" #include <windows.h> DWORD __stdcall Func(LPVOID pm) { ...
- JavaScript中作用域和作用域链解析
学习js,肯定要学习作用域,js作用域和其他的主流语言的作用域还存在很大的区别. 一.js没有块级作用域. js没有块级作用域,就像这样: if(){ : console.log(a) //输出100 ...
- jquery checkbox实例
<!DOCTYPE html><html> <head><meta charset="utf-8" /><title>& ...
- 数据结构-图-Java实现:有向图 图存储(邻接矩阵),最小生成树,广度深度遍历,图的连通性,最短路径1
import java.util.ArrayList; import java.util.List; // 模块E public class AdjMatrixGraph<E> { pro ...
- require.js源码分析
写的寥寥草草,博客园的布局怎么弄还没有研究,再保存一份草稿,日后在完善,深度研究 require.js 加载顺序 1:加载html主页,require.js文件 2:脚本执行到html中的script ...
- Java中静态内部类的理解
class A { public void func() { A a=new A(); C c=a.new C(); } public static void main(String[] args) ...
- Windows Phone开发需要了解的背景
在Windows Phone8.1之前,Windows Phone应用是基于Silverlight的,这些代码也不能在Windows上运行,从Windows Phone8.1开始,开发者多了一个选择, ...
- 将list转换为datatable的方法
public static DataTable CopyToDataTable<T>(this IEnumerable<T> array) { var ret = new Da ...