每日一题(寻找奇数,寻找峰值)

简介: 每日一题(寻找奇数,寻找峰值)

寻找奇数_牛客题霸_牛客网 (nowcoder.com)

 

#include <stdio.h>
#include<stdlib.h>
int main() {
    int n=0;
    int num=0;
    scanf("%d",&n);
    int* arr=(int*)malloc(sizeof(int)*n);
    int i=0;
    for(i=0;i<n;i++){
        scanf("%d",&arr[i]);//在循环内,使用scanf函数从标准输入读取一个整数,并将其存储在数组arr的相应位置
        num^=arr[i];
    }
    printf("%d\n",num);
    free(arr);
    arr=NULL;//将arr设置为NULL,以表示它不再指向任何有效的内存
    return 0;
}

寻找峰值_牛客题霸_牛客网 (nowcoder.com)

 

int findPeakElement(int* nums, int numsLen) 
{
    if (numsLen <= 1) 
    {
        return 0; // 数组长度为0或1,假定第一个元素为峰值
    }
    
    int i;
    for (i = 0; i < numsLen; i++) 
    {
        if ((i == 0 || nums[i-1] < nums[i]) && (i == numsLen-1 || nums[i] > nums[i+1])) 
        //这是一个if条件判断,用于确定当前元素nums[i]是否是一个峰值。它检查两个条件:
//i == 0 || nums[i-1] < nums[i]:确保当前元素大于或等于其左边的元素(如果存在的话)。
//i == numsLen-1 || nums[i] > nums[i+1]:确保当前元素大于或等于其右边的元素(如果存在的话)。
//如果这两个条件都满足,那么nums[i]就是一个峰值。
       {
            return i; // 找到峰值元素
        }
    }
    
    return -1; // 没有找到峰值元素
}
相关文章
|
9月前
|
Java C++
数的范围(考查二分)
数的范围(考查二分)
60 0
|
7月前
【洛谷】P1102 A-B 数对
洛谷 P1102 A-B 数对
69 0
【洛谷】P1102 A-B 数对
|
9月前
|
算法
DAY-6 | 牛客-NC107 寻找峰值:二分法巧得峰值
这是一个关于寻找数组峰值的编程问题,题目来源于牛客网的 NC107 题目。文章介绍了两种方法,其中重点讲解了使用二分法寻找峰值的思路:通过比较数组中点与相邻元素的大小,不断缩小搜索范围,直到找到峰值或范围只剩一个元素。二分法的时间复杂度为 O(logN),空间复杂度为 O(1)。文章还配有多张图解和代码示例来辅助理解。
86 4
|
9月前
春节每日一题~(自除数,除自身以外的数的乘积)
春节每日一题~(自除数,除自身以外的数的乘积)
42 1
【力扣每日一题:2-19】1004. 最大连续1的个数 III【中等】
【力扣每日一题:2-19】1004. 最大连续1的个数 III【中等】
|
算法 C语言 C++
LeetCode.每日一题 2427. 公因子的数目
将一个数的所有约数枚举出来,存入数组,之后再用数组中的每一个数,去看看能不能被第二个数整除,若能则答案++
82 0
|
算法
【蓝桥杯】求既约分数—>(全解)最大公约数与最小公倍数
【蓝桥杯】求既约分数—>(全解)最大公约数与最小公倍数
115 0
一日一技:使用异或寻找两个孤独的数
一日一技:使用异或寻找两个孤独的数
103 0
每日一题——“水仙花数”
哈喽大家好,我是保护小周ღ,本期为大家带来的是求“水仙花数”,此水仙花,非彼水仙花,一起来看看把~
146 0