我是靠谱客的博主 酷酷衬衫,最近开发中收集的这篇文章主要介绍【题解】《C语言入门100例》(第27例) 穷举查找一. 穷举查找二. 推荐专栏三. 相关练习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一. 穷举查找
  • 二. 推荐专栏
  • 三. 相关练习
    • 3.1 统计位数为偶数的数字
    • 3.2 有序数组中的单一元素

一. 穷举查找

  穷举法在进行归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这结论是可靠的,这种归纳方法叫做穷举法我们通常利用计算机运算速度快的特点,将所有情况都一一列举出来进行操作。

基本思路:

  1. 确定穷举对象
  2. 确定穷举范围

举例:
  在一个数组内查找某一个数第一次出现的位置,并返回其下标。

代码如下:

#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第一次出现的位置为:%dn", n);

	return 0;
}

二. 推荐专栏

《C语言入门100例》(第27例) 穷举查找

三. 相关练习

3.1 统计位数为偶数的数字

题目链接:

1295. 统计位数为偶数的数字

这到题我们通过穷举法,对每个数字进行判断,如果为偶数就++。

代码如下:

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 有序数组中的单一元素

题目链接:

540. 有序数组中的单一元素

应为给定的数组是有序的,所以我们对其进行穷举,进行判断

代码如下:

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];
}

最后

以上就是酷酷衬衫为你收集整理的【题解】《C语言入门100例》(第27例) 穷举查找一. 穷举查找二. 推荐专栏三. 相关练习的全部内容,希望文章能够帮你解决【题解】《C语言入门100例》(第27例) 穷举查找一. 穷举查找二. 推荐专栏三. 相关练习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部