本人的数学细胞实在不发达,记忆力又差,一讲到算法就头疼。
但现在满世界都要靠这个过关斩将。姑且记录一点点,学而时习之。
1.删除字符串重复字符:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int i,j; char s[]="aabbbbcccdd"; for(i=0;i<(int)strlen(s);i++){ for(j=i+1;j<(int)strlen(s);j++) if(s[i]==s[j]) s[j]=' '; } for(i=0;i<(int)strlen(s);i++) if(s[i]!=' ') printf("%c",s[i]); return 0; }
2.删除数组中重复元素
if __name__ == '__main__': alist=['aa','bb','ab','ac','ad','aa','aa','ac','bb','aa']; blist=set(alist); print "method1: %s" % blist; clist=[]; for x in alist: if x not in clist: clist.append(x); print "method2: %s" % clist; dlist=[]; alist.sort(); l=len(alist); for i in range(l) : if alist[i]!=alist[i-1]: dlist.append(alist[i]); print "method3: %s" % dlist;