// 第一种方法

// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class FirstRepeat {
public:
char findFirstRepeat(string A, int n) {
// write code here
vector<char> cVec;
bool re = false;
char ch='a';
for (int i = 0;i < A.size();i++)
{
for (int j = 0;j < cVec.size();++j)
{
if (A[i] == cVec[j])
{
re = true;
ch = A[i];
break;
}
}
if (re == false)
{
cVec.push_back(A[i]);
}
else
{
break;
} }
return ch;
}
};
int main()
{
string str = "qywyer23tdd";
FirstRepeat fr;
cout << fr.findFirstRepeat(str,str.size())<< endl; return 0;
};

//第二种方法

// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class FirstRepeat {
public:
char findFirstRepeat(string A, int n) {
// write code here
vector <int> cVec;
char ch;
for (int i = 0;i < 128;i++)//建立一个存储字符的数组;共有128个字符
{
cVec.push_back(0);
} for (int i = 0;i < n;i++)
{
int num = A[i]; cVec[num]= cVec[num]++;
cout << "char:" << A[i] <<" num:"<< cVec[num] << endl;
if (cVec[num] == 2)
{
ch= A[i] ; break;
} }
return ch;
}
};
int main()
{ string str = "kdbaaak";
FirstRepeat fr;
cout << fr.findFirstRepeat(str,str.size())<< endl; return 0;
};

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。的更多相关文章

  1. 笔试题&amp;面试题:设计一个复杂度为n的算法找到单向链表倒数第m个元素

    设计一个复杂度为n的算法找到单向链表倒数第m个元素.最后一个元素假定是倒数第0个. 提示:双指针查找 相对于双向链表来说,单向链表仅仅能从头到尾依次訪问链表的各个节点,所以假设要找链表的倒数第m个元素 ...

  2. 现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。

    include "stdafx.h" #include<iostream> #include<vector> #include<algorithm&g ...

  3. .Net开发笔记(十九) 创建一个可以可视化设计的对象

    阅读本篇博客之前需要了解VS窗体设计器的工作原理,详细可参见本系列博客(十).(十一).(十二).必须需要知道的一条结论就是:处于窗体设计器(Form Designer)中的任何组件(包含控件,下同) ...

  4. 【leetcode-03】给定一个字符串,请你找出其中不含有重复字符的最长子串的长度

    开个新坑,leetcode上面做题目.下面是题目描述: <!-- 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出 ...

  5. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

  6. 排查dubbo接口重复注销问题,我发现了一个巧妙的设计

    背景 我在公司内负责自研的dubbo注册中心相关工作,群里经常接到业务方反馈dubbo接口注销报错.经排查,确定是同一个接口调用了两次注销接口导致,由于我们的注册中心注销接口不能重复调用,调用第二次会 ...

  7. 给定一个字符串里面只有"R" "G" "B" 三个字符,请排序,最终结果的顺序是R在前 G中 B在后。 要求:空间复杂度是O(1),且只能遍历一次字符串。

    题目:给定一个字符串里面只有"R" "G" "B" 三个字符,请排序,最终结果的顺序是R在前 G中 B在后. 要求:空间复杂度是O(1),且 ...

  8. 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复

    产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复 用一个ArrayList存储1到100然后随机产生0到arraylist.size()之间的数字作为下标然后从arrayli ...

  9. Java中ArrayList问题:删除一个ArrayList中的重复元素,注意留意一个问题

    该问题有两种方法: 一 利用两个数组,此法简单,不讨论 二 利用一个数组,从第0个开始依次取元素,并在其后元素中查找是否有该元素,有则删掉后面的重复元素,依次遍历.---但是这种情况要特别注意,当后续 ...

  10. 给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)

    """ #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 解题思路: 1.设定一个 ...

随机推荐

  1. Bzoj1879 [Sdoi2009]Bill的挑战

    Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 724  Solved: 363 Description Input 本题包含多组数据. 第一行:一个整数T ...

  2. 【HDOJ5996】dingyeye loves stone(Nim游戏)

    题意:dingyeye喜欢和你玩石子游戏.dingyeye有一棵n个节点的有根树,节点编号为0到n−1,根为0号节点. 游戏开始时,第i个节点上有a[i]个石子.两位玩家轮流操作,每次操作玩家可以选择 ...

  3. linux程序运行浅析

    例如有一个脚本文件tests.sh,内容如下: #!/bin/bash #This is a sample test. cd /tmp echo "Hello, this is a test ...

  4. Cryptography I 学习笔记 --- 数论简介

    0. Zn代表{0,1....n-1}的集合 1. 模运算符合交换律结合律 2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到. 3. 模逆(modular ...

  5. HDU 6225.Little Boxes-大数加法 (2017ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学))

    整理代码... Little Boxes Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/O ...

  6. Codeforces Gym101063 F.Bandejao (2016 USP-ICMC)

    F.Bandejao It is lunch time on Mars! Everyone has got that big smile on their faces, all eager to se ...

  7. BZOJ——3412: [Usaco2009 Dec]Music Notes乐谱

    http://www.lydsy.com/JudgeOnline/problem.php?id=3412 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit:  ...

  8. codevs——1220 数字三角形(棋盘DP)

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或 ...

  9. 记录下我的阿里云centos服务器之路

    以下内容都已经过试验,边走边记,懒得排版 安装aphach yum install -y httpd systemctl start httpd netstat -tulp    安装桌面 尽量不用桌 ...

  10. IOS开发者账号的相关配置 - 接受邀请后的步骤

    说明: 1.本文主要针对企业账户, 并假定主账号已经申请到了. 2.账号类型分为3种:Agent(创建者),Admin(管理员)及Member(成员) 一. 1.申请子账号 使用Agent或Admin ...