【力扣】题目3:无重复字符的最长子串

题目:

            给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

            示例1: 

输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

             示例2:

输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

             示例3:

输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
     请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

方法:

int lengthOfLongestSubstring(char * s){
	int count=1; //用来计数
	int max=1;    //用来记录最大长度
	int k=0;	//滑动开始位
	//判断是否为空
	if(*s=='\0')	return 0;  
	//遍历比较,不等时,计数在增加,相等时,
	for(int i=0;s[i]!='\0';i++){
		for(int j=k;j<i;j++){
			if(s[i]!=s[j]){
				count++;  
			}else{     //出现重复后跳出此次比较
				k=j+1;   //滑动比较窗口,从下一个不重复的开始
				break;    //直接跳出,出现重复的时候不需要再计算是否为最大数
			}
			max = count>max ? count:max;  //判断是否为最大数
		}
		count=1;  //重置进行新一轮比较
	}
	return max;
}

解析:1>  首先定义一个计数器 count 来计数出现无重复字符的个数;

           2>  再定义一个max保存当前最长子串的个数;

           3>  定义一个滑动下标,以便出现相同字符,滑动下标跳过该字符,到下一个再计算;

           4>  遍历比较,不等时计数器 count++ ;相等时跳过该字符重新计算最长值;

           5>  重新遍历时应注意要将count 置为1,最后返回最长子串个数。

EnvI是一种地理信息系统(GIS)软件,它可以帮助用户给文件加上坐标信息。在GIS中,坐标信息用于表示地球上的位置。 首先,用户需要打开EnvI软件,并导入需要添加坐标信息的文件。文件可以是图片、文本或其他类型的数据。 接下来,用户需要选择合适的坐标系统。坐标系统通常根据地理位置的不同而变化。例如,全球定位系统(GPS)使用的坐标系统是经度(longitude)和纬度(latitude)。 一旦选择了坐标系统,用户可以使用EnvI软件提供的功能来添加坐标信息。用户可以手动输入坐标数值或通过其他方式获取。例如,如果用户拍摄了一张照片,并知道拍摄时的经纬度,可以直接输入这些数值。 另外,EnvI还提供了自动获取坐标信息的功能。用户可以根据文件的属性或特征来自动提取所需的坐标信息。例如,对于一段文字或文件中的某些特定标志物,用户可以使用地理解析技术来提取相关的坐标信息。 在添加坐标信息后,EnvI还可以进行相关的地理分析和空间查询。用户可以利用这些功能,进一步探索和分析文件中的地理数据。 总而言之,EnvI可以帮助用户给文件加上坐标信息,使其能够更好地与地理位置相关联。无论是对于个人用户还是专业使用者来说,EnvI都是一个强大且易于使用的工具,可以提供准确的坐标信息,并支持各种地理分析和查询功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值