zoukankan      html  css  js  c++  java
  • [算法]处理连续小段问题

    翻转小段单词

    其实翻转字符串能够通过多次的字符串的逆序实现,这里主要学习一下,怎么提取每一个英语单词,然后分别对其逆序。

    string ReverseSentence(string str) 
    {
        int size = str.size();
        
        char *pFirst = &str[0];
        char *pEnd = &str[size - 1];
        
        Reverse(pFirst, pEnd);
        
        pFirst = &str[0];
        pEnd = pFirst;
        
        while(*pFirst != '')
        {
            if(*pFirst == ' ')
            {
                ++pFirst;
                ++pEnd;
            }
            else if(*pEnd == ' ' || *pEnd == '')
            {
                Reverse(pFirst, --pEnd);
                pFirst = ++pEnd;
            }
            else
            {
                ++pEnd;
            }
        }//for
        
        return str;
    }
    
    void Reverse(char *pBegin, char *pEnd)
    {
        if(pBegin == NULL || pEnd == NULL)
        {
            return;
        }
        
        while(pBegin < pEnd)
        {
            char tmp = *pBegin;
            *pBegin = *pEnd;
            *pEnd = tmp;
            
            pBegin++;
            pEnd--;
        }//while
    }
    

    查找和为S的连续数组元素

    void findContinuousSequence(int sum)
    {
    	int small = 1;
    	int big = 2;
    	int mid = ( 1+ sum) / 2;
    
    	int curSum = small + big;
    
    	while(small < mid)
    	{
    		if(curSum < sum)
    		{
    			++big;
    			curSum += big; 
    		}
    		else if(curSum > sum)
    		{
    			curSum -= small;
    			++small;
    		}
    		else
    		{
    			int j = 0;
    			for(j = small; j <= big; j++)
    			{
    				printf("%d ", j);
    			}
    			printf("
    ");
    
    
    			++big;
    			curSum += big;
    
    		}//else
    	}//while
    }
    

    这两个问题的共同点就是处理一个问题的连续的一小段问题,解决的办法和划分中使用的一样,利用快慢指针。  

      

  • 相关阅读:
    MINA的session.close
    Maven构建灵活配置文件
    函数的凹凸性
    幂函数习题
    2017全国卷1文科第9题高考真题的解法
    指数函数习题
    三角形的四心的向量表示
    进退中体会数学运算和数学策略
    函数f(x+1)和f(x-1)的奇偶性
    函数的奇偶性周期性习题
  • 原文地址:https://www.cnblogs.com/stemon/p/4811829.html
Copyright © 2011-2022 走看看