力扣刷题第一天

C语言刷力扣

题名

  • C语言刷力扣
  • 一 .无重复字符的最长子串
  • 二 滑动窗口
    • 1.滑动窗口的核心思想有以下几点
    • 2.使用双指针进行窗口的维护left和right
    • 3.当出现重复时,需要找到一个出现重复的位置
    • 4.当出现重复时,修改对应left下标
        • 让我们直接看代码
  • 总结

一 .无重复字符的最长子串

二 滑动窗口

1.滑动窗口的核心思想有以下几点

2.使用双指针进行窗口的维护left和right

3.当出现重复时,需要找到一个出现重复的位置

4.当出现重复时,修改对应left下标

让我们直接看代码
int lengthOfLongestSubstring(char * s)
{
	int left = 0;
	int right = 0;
	int max = 0;
	int i ,j;
	int n = strlen (s);
	int haveSameChar = 0;
	
	for( i = 0;i<n;i++)
	{	
		if(left<=right)
		{
			haveSameChar = 0;
			for( j = left;j<right;j++) //j = left  
			{
				if(s[j] == s[right])
				{
					haveSameChar = 1;
					break;
				}
			}
			if(haveSameChar)
			{
				//指向下一个 
				left = j+1;
			}
		} 
		max = max<(right-left+1)?(right-left+1):max;//要记得加一 
		right++; //这边记得加1 
	} 
	return max; 
}

总结

第一次写博客,等我过几天在来看代码不懂得地方记得注释,不对的地方还请指教

你可能感兴趣的:(力扣刷题第一天)