算法
Mr.Jcak
这个作者很懒,什么都没留下…
展开
-
寻找区间质数
给定一个[left,right]的范围,计算这个区间内的质数的个数思路:定义一个isPrime数组,其长度为right+1,数组的元素为bool型,true代表该位置索引的数字是质数。首先数组初始化为全部true,然后从2开始遍历到sqrt(right),对于当前遍历到的数字,将其所有倍数的位置设为false,例如,遍历到3的时候,将6,9,12...设为false,因为这些数字都是3的倍数,一定不是质数。当遍历到某个数,只需要判断这个数是不是true,就知道这个数是不是质数,因为如果是true说明这个原创 2021-09-17 14:13:37 · 514 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。定义两个指针tail和curr,tail指针首先指向第一个偶数,tail指针的含义是位于tail前面的都是奇数。接着curr从tail下一个开始出发,如果curr指针遇到奇数,则需要将奇数放到tail位置,然后tail指针+1到下一个位置。但将curr的值放到tail指针之前,需要将[tail,curr)区间的值往后移一个位置。接着curr继续寻找奇数原创 2021-09-17 14:51:48 · 222 阅读 · 0 评论