c++ 11 vs 98

在求最长子字符串中题中要遍历个上万字符数据

1.使用c++11代码

for (auto ch : s) {
		auto ss = vsi[ch];
		vsi[ch].insert(i);
		i++;
	}

2.使用c++98代码

	for (int i = 0; i < s.length(); i++) {
		ch = s[i];
		vsi[ch].insert(i);
	}

这两段代码时间比较

1.c++ 11

2.c++ 98

下面是longest-substring-without-repeating-characters AC代码

int lengthOfLongestSubstring(string s)
{
    if (s.length() <= 1) return s.length();
    vector<set<int> > vsi(256);
    char ch;
    for (int i = 0; i < s.length(); i++) {
        ch = s[i];
        vsi[ch].insert(i);
    }
    int count = 0;
    int max = 0;
    for (int i = 0; i < s.size() - 1; i++) {
        count = 0;
        int endPos = -1;
        for (int j = i; j < s.size(); j++) {
            if ((endPos != -1 && j >= endPos)) {
                break;
            }
            auto pos1 = vsi[s[j]].find(j);
            pos1++;
            count++;
            if (pos1 != vsi[s[j]].end()) {
                int tmp = (*pos1) - i;
                if (tmp <= max) break;
                if (endPos > (*pos1) || endPos == -1) {
                    endPos = (*pos1);
                }
            }
        }
        if (max < count) {
            max = count;
        }
    }
    return max;
}
时间: 2024-08-06 00:20:16

c++ 11 vs 98的相关文章

bzoj4619

4619: [Wf2016]Swap Space Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 129  Solved: 54[Submit][Status][Discuss] Description 你有许多电脑,它们的硬盘用不同的文件系统储存数据.你想要通过格式化来统一文件系统.格式化硬盘可能使它 的容量发生变化.为了格式化,你需要买额外的硬盘.当然,你想要买容量最小的额外储存设备以便省钱.你可以 按任意顺序格式化硬盘.格式化之前,你要把该硬

关于前端CSS预处理器Sass的小知识!

前面的话 ??"CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工具,提 供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护.本文将详细介绍sass的使用 定义 ??Sass是一门高于CSS的元语言,它能用来清晰地.结构化地描述文件样式,有着比普通CSS更加强大的功能.Sass能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式

广东省-IT公司红黑榜排名

红榜Top100 Order Company Name Point Change  1 百富计算机技术(深圳)有限公司  94.00 --  2 中国网通广州分公司  88.00 --  3 深圳市汇驿科技有限公司  77.50 --  4 深圳泛华讯电脑技术有限公司  74.00 --  5 广东九方信息系统有限公司  70.00 --  6 广州南天电脑系统有限公司  66.00 --  7 广州保洁PG  63.33 --  8 广州城市信息研究全部限公司  63.33 --  9 普扬信

杂文 - [1.1]使用库语言排序算法

[1.1]使用库语言排序算法 本文地址: http://blog.csdn.net/caroline_wendy 如果不缺少内存, 可以直接使用库的排序算法. 使用库语言的排序程序: C语言性能最好的算法是快速排序(quick sort). C++性能最好的是集合(set)的排序算法. C语言代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <std

CSS预编译器:Sass(进阶),更快的前端开发

1.@if @if 指令是一个 SassScript,它可以根据条件来处理样式块,如果条件为 true 返回一个样式块,反之 false 返回另一个样式块 在 Sass 中除了 @if 之,还可以配合 @else if 和 @else 一起使用. 假设要控制一个元素隐藏或显示,我们就可以定义一个混合宏,通过 @[email protected] 来判断传进参数的值来控制 display 的值 [email protected]循环 在制作网格系统的时候,大家应该对 .col1~.col12 这样

Web工作原理

[转载]WEB工作原理简述 作为一名想学习网站开发, 或者更专业一点说叫"B/S体系结构系统"开发的同学来说, 可能首先想到的是学习各种前端技术, 例如: HTML, CSS, Javascript--, 以及各种动态网站开发技术, 诸如: ASP, ASP.NET, JSP, PHP-- . 但是, 在你开始之前, 请稍安勿躁, 了解一下网站是如何工作的往往是一件"磨刀不误砍柴工"的事情. 曾经接触过一些公司里刚入职的程序员, 往往会犯一些比较低级的错误而百思不得

2016年中国500强排行榜(公司名单)

1 1 中国石油化工股份有限公司 2,018,883 32,207 2 2 中国石油天然气股份有限公司 1,725,428 35,653 3 3 中国建筑股份有限公司 880,577.13 26,061.9 4 4 中国工商银行股份有限公司 697,647 277,131 5 6 上海汽车集团股份有限公司 670,448.22 29,793.79 6 5 中国移动有限公司 668,335 108,539 7 7 中国中铁股份有限公司 624,104.14 12,257.67 8 11 中国平安保

OGG-01224 Bad file number

今天在看OGG的日志时.发现例如以下OGG-01224 Bad file number错误.查阅资料才知道port不可用,看了一下mgr的參数,发现是设置的DYNAMICPORTLIST 动态port.为什么还不可用.看看MOS上面咋说的: OGG GoldenGate Extract | Pump Abends with: "TCP/IP Error 9 (Bad File Number)" (文档 ID 1359087.1) 转究竟部 In this Document _afrLo

通过PowerShell获取域名whois信息

Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商.域名注册日期和过期日期等).通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间.通常情况下,whois信息均为真实信息,通过whois信息可以找到域名注册人的很多真实信息,像电话,邮箱,NS记录,是对网站进行社工非常好的信息来源,对于安全从业人员来说,快速获取whois信息,能够帮助自己掌握目标网站的很多有用信息. 而whois信息通常是保存在各级域名注册