家人朋友们大家好!今天工作中遇到一个需求,就是我有一个字符串集合,需要随机挑选出一个元素,但是这个元素如果越短,被选出的概率越高。突然一下子并没有想到好的思路来实现,然后就去问gpt了,没想到很快就帮我把代码给写出来了。
一上来是用python写的,就是按照字符串长度的倒数来分配概率,真的是比较好的思路,一下子也没有想到。然后要让他使用java来帮我翻译一下,然后就用java又帮我实现了一下,但是实现也是根据字符串的倒数。
这样就会有一个问题,元集合中所有元素的概率加起来不一定是百分之百,所以就继续问他,需要调整一下代码,让集合中所有元素的概率相加要等于百分之百。没想到又给我快速写出了这个代码,它就是根据字符串长度的百分比概率,大概就是使用了一个概率分布。
而且最后还比较贴心,因为随机算法里面如果浮点数运算不精确可能没有选择到字符串,还给随机了一个,这个还真的是出乎我意料的。当然了,如果仔细看代码,其实发现代码里面其实是错误的,因为字符串就没有进行排序,所以出现的概率并不是严格按照越短概率就越大,所以需要自己去调整一下代码。
但是总的来说,已经帮我们大大的提高了效率了,根据代码去改一下很快就改好了。这个就是我跟大家分享的,谢谢大家。
,