zoukankan      html  css  js  c++  java
  • 一道来自华为的C机试题目

    题目是这样的

    求一个字符串中连续字母的个数

    比如I have a book. : 1

    I have a dog. : 0

    I haavee aa dogg : 4


    #include <windows.h>
    #include <iostream>
    
    using namespace std;
    
    void GetDupStringCount( const char* pStr, int &iOut )
    {
    	if( !pStr )
    		return;
    
    	int iLen = strlen( pStr );
    
    	if( !iLen )
    		return;
    
    	char cValue = *pStr;
    	int iNumCount = 0;//重复个数
    
    	iOut = 0;//设置为0
    	int iIndex = 0;//当前索引
    
    	while( iLen-- )
    	{
    		if( !( ( cValue >= 'a' && cValue <= 'z' ) || ( cValue >= 'A' && cValue <= 'Z' ) ) )
    		{
    			cValue = *( pStr + ++iIndex );
    
    			iNumCount = 0;
    			
    			continue;
    		}
    
    		if( cValue == *( pStr + iIndex ) )
    		{
    			iNumCount++;
    		}
    		else
    		{
    			cValue = *( pStr + iIndex );
    
    			if( iNumCount > 1 )
    			{
    				iOut++;
    				iNumCount = 0;
    				--iIndex;
    			}
    
    		}
    
    		iIndex++;
    
    	}
    }
    
    
    int main( int argc, char* argv[] )
    {
    	char szStr[] = " I haveee  a book!   ";
    
    	int iOut = -1;
    
    	GetDupStringCount( szStr, iOut );
    
    	cout << iOut << endl;
    
    	return 0;
    }


  • 相关阅读:
    jsonp 的 post
    js replace常用用法
    zindex
    x秒前
    手写jsonp
    webview 冒泡慢?
    人民币大写转阿拉伯数字
    checked
    Deadlock Troubleshooting Trace 1222
    [转]基于LUCENE实现自己的推荐引擎
  • 原文地址:https://www.cnblogs.com/riskyer/p/3246605.html
Copyright © 2011-2022 走看看