zoukankan      html  css  js  c++  java
  • 编程算法

    第一个仅仅出现一次的字符 代码(C)


    本文地址: http://blog.csdn.net/caroline_wendy


    题目: 在字符串中找出第一个仅仅出现一次的字符.


    字符是char类型, 所以匹配256种可能, 採用hash表, 计算出现的次数, 再找到第一次出现的字符.


    代码:

    /*
     * main.cpp
     *
     *  Created on: 2014.6.12
     *      Author: Spike
     */
    
    /*eclipse cdt, gcc 4.8.1*/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    char FirstNotRepeatingChar (char* pString) {
    	if (pString == NULL)
    		return '';
    	const int tableSize = 256;
    	unsigned int hastTable[tableSize];
    	for (unsigned int i=0; i<tableSize; ++i)
    		hastTable[i] = 0;
    	char* pHashKey = pString;
    	while (*pHashKey != '')
    		hastTable[*(pHashKey++)]++;
    	pHashKey = pString;
    	while (*pHashKey != '') {
    		if (hastTable[*pHashKey] == 1)
    			return *pHashKey;
    		pHashKey++;
    	}
    	return '';
    }
    
    int main(void)
    {
    	char pString[] = "abaccdeff";
    	char result =  FirstNotRepeatingChar (pString);
        printf("result = %c
    ", result);
    
        return 0;
    }
    

    输出:

    result = b
    








  • 相关阅读:
    网桥的作用
    PMML辅助机器学习算法上线
    支持度、置信度和提升度
    特征预处理
    特征表达及处理
    卡方检验
    特征工程-特征选择
    AMBARI部署HADOOP集群(4)
    AMBARI部署HADOOP集群(3)
    ambari部署Hadoop集群(2)
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4471540.html
Copyright © 2011-2022 走看看