[005] unique_sub_string

[Description] Given a string, find the largest unique substring.

e.g.  str[] = "asdfghjkkjhgf";

     sub[] = "asd";

[Thought] create an auxiliary space ‘record[256]‘ to record the appearence of characters. O(n)

[Implementation] C code:

 1 #include<stdio.h>
 2
 3 int uniqueSubStr(const char str[], char unique[])
 4 {
 5         int record[256]={0};
 6         int i,len=0;
 7         for(i=0;str[i]!=‘\0‘;i++)
 8         {
 9                 if(0==record[str[i]])
10                 {
11                         record[str[i]]=1;
12                         len++;
13                         unique[len-1]=str[i];
14                 }
15                 else
16                 {
17                         continue;
18                 }
19         }
20         unique[len]=‘\0‘;
21         return len;
22 }
23
24 int main()
25 {
26         char str[]="asdfjlkdfghjc";
27         int size=sizeof(str);
28         char unique[size];
29         int i;
30
31         printf("Initial string:\n");
32         for(i=0;str[i]!=‘\0‘;i++)
33         {
34                 printf("%c",str[i]);
35         }
36         printf("\nThe lagest length of unique substring is: %d\n", uniqueSubStr(str,unique));
37         printf("The unique substring is:\n");
38         for(i=0;unique[i]!=‘\0‘;i++)
39         {
40                 printf("%c",unique[i]);
41         }
42         printf("\n");
43         return 0;
44 }
时间: 2024-10-10 13:27:30

[005] unique_sub_string的相关文章

windows_learn 005 软件部署

windows_learn 005  软件部署 内容总览 软件部署概述 将软件发布给用户 将软件分配给用户或计算机 将软件升级和重新部署 部署Microsoft Office 发布ZAP应用程序 软件部署的其它设置 将软件重新封装成MSI应用程序 第5章 使用组策略部署软件(p207) 可以通过AD DS组策略来为企业内部计算机部署(Deploy)软件,也就是自动为这些计算机 安装.维护和删除软件. 软件部署概述 即通过组策略来将软件部署给域内的计算机,来实现自动化安装和部署软件给客户端,而 软

JavaScript入门:005—JS基本语句

JS的基本语句如下.主要看看循环语句和选择语句.循环语句1.for循环 for(var i=1;i<100;i++){ //代码 } 2.do...while循环 var i = 0; do { i++; //代码 }while(i<100); 3.遍历 var array = new Array(); array[0] = "你懂的"; array[1] = "over"; array[2] = "呵呵"; array[3] = &

[第4组]典型场景:图片分类 工作序号:005 2017/7/6

场景工作序号005:照片分类1.背景1)典型用户:白领王女士2)客户的需求/迫切解决的问题王女士旅游归来想要将相机中杂乱无章的照片按景点分好类.3) 假设:a.王女士的照片已经导入到了本地磁盘中b.软件相关功能已实现完成.2.场景关于这个场景的文字描述白领王女士趁着放假和父母孩子一起去了张家界旅游,回来之后想要把拍的照片简单分类.打开软件后她先进入图库界面,点击页面上的设置按钮进入设置页面,然后她点击文件夹设置中的添加文件夹"+"符号,在选择好正确的本地图片存放路径后,他点击了确定按钮

[LeetCode] 005. Longest Palindromic Substring (Medium) (C++/Java/Python)

索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 005.Longest_Palindromic_Substring (Medium) 链接: 题目:https://oj.leetcode.com/problems/Longest-Palindromic-Substring/ 代码(github):https://github.com/illuz/leetcode

欧拉项目005:最小公倍数

Smallest multiple Problem 5 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder. What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20? 就是找出1....20 所有数的最

【qt学习005】搞不明白的布局

记录一下自己在布局这一章遇见的各种狗屎问题. 问题主要出现在布局最后一节:综合布局实例,类似于一个qq管理器的界面(见下图1).看见这个时,打算动手实现一下,于是开始写代码,写着写着发现不知道怎么写了,遇见一些无法解决的问题(问题中描述的布局类之间的关系见下图2): 1. 最底层应该使用哪一类? 2. 怎么将QListWidget加入到最底层? 3. 怎么往QStackWidget加入三个页面,每个页面代表不同的信息? 4. 怎么将QHBoxLayout中的CLOSE按钮连接到退出函数,要完整地

[Linux 005]——IO重定向

通常在 Shell 中执行命令的时候,我们会在输入命令的下方看到执行结果,操作系统默认将命令的执行结果输出到显示器上.当然,我们也可以手动的指定输出路径,或者输入路径,这就是 I/O 重定向. 1.标准输出重定向 使用 cat 命令,命令的执行结果将会打印在屏幕中. 我们使用 > 来进行输出重定向,此时屏幕上不再打印命令执行结果了,而是将执行结果保存到了 ./target.xxx 文件中. 来看一下 ./target.xxx 文件中的内容: 2.标准输入重定向 tr 命令可以从键盘上读取标准输入

1.22 P235第三题创建Map集合,创建Emp对象,将Emp对象添加到集合中,并将id为005的对象从集合中移除。

1 public static void main(String[] args) { 2 3 HashMap<String,String> map = new HashMap<String,String>(); //创建集合map 4 5 Emp e1 = new Emp("001","星期一"); 6 Emp e2 = new Emp("002","星期二"); 7 Emp e3 = new Emp(

IOTA 005六甲基二硅氧烷

IOTA 005六甲基二硅氧烷化学名称:六甲基二硅氧烷别     名:六甲基二硅氧烷; 六甲基二硅醚; 硅醚:MMCAS NO.:107-46-0EINECS :203-492-7分子结构:分子式  :C6H18OSi2分子量  :162.38产品特性外观:                无色透明液体密度(25℃,g/cm3):    0.764折射率(20℃):        1.3765-1.3785熔点(℃):             -59闪点(℃):          -1.1沸点(℃