比如:
135983040042343432
这组数字里面
连续是奇数的个数最大值是 :1359 答案是4
连续是偶数的个数最大值是: 040042 答案是:6
找到最长的全为奇数或者全为偶数的数量的最大值。不需要找到字符串。
-----------------------------------------------------
网友回复:
引用:inkedus发表于2020-7-1722:29
那挺难的,得出钱
网友回复:
引用:♠♣♥❤发表于2020-7-1722:30
老哥有啥法子没
网友回复:
从头扫到尾,每次对比前后数字,奇偶变化就重新记
网友回复:
写两个循环遍历一下这两个数组就可以了吧……
@h20可能还知道什么更快的算法……
网友回复:
伪代码:
1.字符串
2.循环,分隔单数字数组
3.循环,判断奇偶性
4.判断连续奇偶【算法自己想】
提示:位运算比取余更快
网友回复:
是从一串数字中,找到最长的全为奇数或者全为偶数的数字字符串吗。虽然我没用过php,但我想应该不会有现成的函数,这个算法看起来也没有那么难
网友回复:
引用:shc发表于2020-7-1722:32
写两个循环遍历一下这两个数组就可以了吧……
@h20可能还知道什么更快的算法……...
网友回复:
引用:shc发表于2020-7-1722:32
写两个循环遍历一下这两个数组就可以了吧……
@h20可能还知道什么更快的算法……...
网友回复:
有两个方法,1.又笨又慢却准确的循环,把这一串数字拆开一个个扫过去,2.写算法或者位运算
网友回复:
引用:frostcc发表于2020-7-1722:35
是从一串数字中,找到最长的全为奇数或者全为偶数的数字字符串吗。虽然我没用过php,但我想应该不会有现成...
网友回复:
引用:Syc发表于2020-7-1722:33
伪代码:
1.字符串
2.循环,分隔单数字数组
网友回复:
引用:♠♣♥❤发表于2020-7-1722:44
老哥来个代码看看?看起来你像扫地僧。
网友回复:
引用:shc发表于2020-7-1722:32
写两个循环遍历一下这两个数组就可以了吧……
@h20可能还知道什么更快的算法……...
网友回复:
你看看我瞎写的:http://www.dooccn.com/php/#id/a33c0d1cf1c4e96e554624d647965c5a
网友回复:
可以将数组对2取余,变成[0,1...],然后拼接成字符串,用正则。取奇数或者偶数,可以用滑动窗口。
网友回复:
http://sandbox.onlinephpfunctions.com/code/7570af75ac31acc2ac8a148faab2343f237c172e
网友回复:
引用:artbaby发表于2020-7-1811:32
http://sandbox.onlinephpfunctions.com/code/7570af75ac31acc2ac8a148faab2343f237c172e
网友回复:
引用:♠♣♥❤发表于2020-7-2201:49
$findMaxConsecutiveOnes=function(array$nums,$even=true) php这种写法是js的吧。php支持吗...
网友回复:
这都不是技术问题,是数学问题算法问题。你给规则写代码是一回事,你这是出的数学题是另一回事
网友回复:
我就好奇楼主的ID为什么不会损坏 @mtx @欧阳逍遥
网友回复:
用不着数学算法,直接当成字符串,分割成数组array,用两个数组分别存奇数和偶数,依次遍历array每个数字奇偶,如果和前一个数字奇偶一样就直接修改最后一个元素当字符串拼接上去,不一样就添加成新元素。最后数字sort一下,就得到想要的结果了。