一. 穷举查找
穷举法在进行归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这结论是可靠的,这种归纳方法叫做穷举法我们通常利用计算机运算速度快的特点,将所有情况都一一列举出来进行操作。
基本思路:
- 确定穷举对象
- 确定穷举范围
举例:
在一个数组内查找某一个数第一次出现的位置,并返回其下标。
代码如下:
#include <stdio.h>
int Find(int arr[], int n){
for (int i = 0; i < arr; i++){
if(arr[i] == n){
return i;
}
}
return -1;
}
int main(){
int arr[] = {
3, 4, 2, 6, 4, 2, 7, 5, 7 };
int n = Find(arr, 5);
printf("5第一次出现的位置为:%d\n", n);
return 0;
}
二. 推荐专栏
三. 相关练习
3.1 统计位数为偶数的数字
题目链接:
这到题我们通过穷举法,对每个数字进行判断,如果为偶数就++。
代码如下:
int findNumbers(int* nums, int numsSize){
int ret = 0;
for(int i = 0; i < numsSize; i++){
int n = 0;
while(nums[i]){
nums[i] /= 10;
n++;
}
if(n % 2 == 0){
ret++;
}
}
return ret;
}
3.2 有序数组中的单一元素
题目链接:
应为给定的数组是有序的,所以我们对其进行穷举,进行判断
代码如下:
int singleNonDuplicate(int* nums, int numsSize){
int i = 0;
for(; i < numsSize - 1; i += 2){
if(nums[i] != nums[i + 1]){
return nums[i];
}
}
return nums[i];
}