Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 爱疯

[已解决]在一个字符串中找到第一个只出现一次的字符(不用字典)

[复制链接]
发表于 2013-9-12 09:43 | 显示全部楼层
本帖最后由 leolee82 于 2013-9-12 10:42 编辑

000
回复

使用道具 举报

 楼主| 发表于 2013-9-12 09:55 | 显示全部楼层
本帖最后由 爱疯 于 2013-9-12 10:04 编辑
liuguansky 发表于 2013-9-12 09:29
正则不知道效率如何……
说错了

点评

晕。你没理解吧。试试 S = "abacbcdeff"  发表于 2013-9-12 10:02
回复

使用道具 举报

发表于 2013-9-12 10:44 | 显示全部楼层
leolee82 发表于 2013-9-12 09:43
replace每次都会申请内存生成一个新的字符串 原字符串就会变成临时对象并释放。很影响效率啊 ...

道理不用你讲。

除非你能证明你有更好的方法,否则就是没意义的说教。
所以你必须拿出你的代码来说话。


回复

使用道具 举报

发表于 2013-9-12 11:24 | 显示全部楼层
本帖最后由 leolee82 于 2013-9-12 11:26 编辑
香川群子 发表于 2013-9-12 10:44
道理不用你讲。

除非你能证明你有更好的方法,否则就是没意义的说教。

桌面000.rar (13.82 KB, 下载次数: 9)

评分

参与人数 1 +10 金币 +10 收起 理由
爱疯 + 10 + 10 还请高手们多多交流呀,我们好学习呵呵!

查看全部评分

回复

使用道具 举报

发表于 2013-9-12 12:00 | 显示全部楼层
leolee82 发表于 2013-9-12 11:24
好,测试文件是我从电脑中随便找的一个英文文档,去掉了多余字符。
原来理解错了,输出的是字符的位置 ...

还当真了
这是个特定群体,是在E中用VBA,是众多非专业人士在实际工作为”偷懒“、为了玩。
vba是解释型的,不是C#、也不是汇编,对日常工作在秒级以下完成,就基本可以接受、基本可以自足。
“高层人士“对此群体不屑一顾,那是正常的。
回复

使用道具 举报

发表于 2013-9-12 12:52 | 显示全部楼层
本帖最后由 leolee82 于 2013-9-12 12:55 编辑
上清宫主 发表于 2013-9-12 12:00
还当真了
这是个特定群体,是在E中用VBA,是众多非专业人士在实际工作为”偷懒“、为了玩。 ...

讨论讨论可以开拓思维,能从别人那学到很多东西。
我也不是专业搞程序的,纯属娱乐娱乐。
每天都忍不住上论坛看看

“高层人士“确实对我们这个群体不屑一顾,但他们遇到Excel问题也免不了来论坛求助
回复

使用道具 举报

 楼主| 发表于 2013-9-12 16:22 | 显示全部楼层
看了44楼附件,我这才注意到:
82的方法是在查找,可看作是读。
群子老师的方法是在处理,是写。会改变实参。
这样就变成:比较读和写谁更快?所以,读占优。
回复

使用道具 举报

发表于 2013-9-12 19:02 | 显示全部楼层
爱疯 发表于 2013-9-12 16:22
看了44楼附件,我这才注意到:
82的方法是在查找,可看作是读。
群子老师的方法是在处理,是写。会改变实 ...

不是读和写的问题,是算法效率和内存分配和释放,
效率应该差不多。可以大概统计下操作的次数。
主要是内存分配时间赋值的问题
每次内存分配系统都会去搜索符合条件的内存,再分配。循环中每次都replace或redim就很影响速度了。

回复

使用道具 举报

发表于 2013-9-12 19:22 | 显示全部楼层
桌面000.rar (14.13 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2013-9-12 21:04 | 显示全部楼层
leolee82 发表于 2013-9-12 19:22
我做简单了下算法效率的统计(里面的n值),确实是差不多的。

是比较两种方法,循环时的赋值次数吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-18 08:41 , Processed in 0.415053 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表