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

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

寻找奇数_牛客题霸_牛客网 (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; // 没有找到峰值元素
}
相关文章
|
16天前
【刷题日志】深度理解除(/)与取模(%)附水仙花数以及变种水仙花数题解
【刷题日志】深度理解除(/)与取模(%)附水仙花数以及变种水仙花数题解
|
6月前
【面试必刷TOP101】寻找峰值 & 数组中的逆序对
【面试必刷TOP101】寻找峰值 & 数组中的逆序对
27 0
|
1月前
春节每日一题~(自除数,除自身以外的数的乘积)
春节每日一题~(自除数,除自身以外的数的乘积)
13 1
|
3月前
|
人工智能 算法 Java
K倍区间(蓝桥杯每日一题)
K倍区间(蓝桥杯每日一题)
26 0
|
4月前
|
存储 算法 Java
小白刷力扣之整数反转与回文数
小白刷力扣之整数反转与回文数
|
4月前
剑指Offer LeetCode 面试题39. 数组中出现次数超过一半的数字
剑指Offer LeetCode 面试题39. 数组中出现次数超过一半的数字
17 0
蓝桥 凑平方数 (我依旧很菜)
蓝桥 凑平方数 (我依旧很菜)
|
8月前
|
人工智能
蓝桥 k倍区间 (前缀和)
蓝桥 k倍区间 (前缀和)
|
10月前
|
人工智能
蓝桥杯:k倍区间
蓝桥杯:k倍区间
49 0
|
11月前
|
算法 C++ Python
每日算法系列【LeetCode 357】计算各个位数不同的数字个数
每日算法系列【LeetCode 357】计算各个位数不同的数字个数