首页 > 其他 > 详细

leetcode-剑指50-OK

时间:2021-01-22 22:36:50      阅读:50      评论:0      收藏:0      [点我收藏+]

address

需要优化

// 时间复杂度n^2
char firstUniqChar(char* s){
	int getlen(char* s){
		int i = 0;
		while(s[i] != ‘\0‘){
			i++;
		}
        return i;
	}
	int len = getlen(s);
	if(len == 0)
		return ‘ ‘;
	bool ok[len];
	for( int i = 0; i< len; i++)
		ok[i] = true;
	char nosame[len];
	int next = 0;
	int check( char s){
		for( int j = 0; j<next; j++){
			if(nosame[j] == s)
				return j;	// 有 就返回 下标
		}
		return -1;	// 没有返回-1
	}
	void fill( char s){
		nosame[next] = s;
		next++;
	}
	for( int i = 0; i< len; i++){
		if(check(s[i])>=0)
			ok[check(s[i])] = false;
		else
			fill(s[i]);
	}
	for( int i = 0; i< next; i++){
		if(ok[i] == true)
			return nosame[i];
	}
	return ‘ ‘;
}

leetcode-剑指50-OK

原文:https://www.cnblogs.com/gallien/p/14315015.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!