【每日刷题】Day72

【每日刷题】Day72

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

[1. 1287. 有序数组中出现次数超过25%的元素 - 力扣(LeetCode)](#1. 1287. 有序数组中出现次数超过25%的元素 - 力扣(LeetCode))

[2. 993. 二叉树的堂兄弟节点 - 力扣(LeetCode)](#2. 993. 二叉树的堂兄弟节点 - 力扣(LeetCode))

[3. 1431. 拥有最多糖果的孩子 - 力扣(LeetCode)](#3. 1431. 拥有最多糖果的孩子 - 力扣(LeetCode))

1. 1287. 有序数组中出现次数超过25%的元素 - 力扣(LeetCode)

//思路:哈希记数。

int findSpecialInteger(int* arr, int arrSize)

{

int ans = 0;

int hash100001 = {0};

for(int i = 0;i<arrSize;i++)

{

hasharr\[i]+=1;

}

for(int i = 0;i<100001;i++)

{

if(hashi>(arrSize/4))

{

ans = i;

break;

}

}

return ans;

}

2. 993. 二叉树的堂兄弟节点 - 力扣(LeetCode)

//思路:深度优先遍历。首先遍历求出,x、y值对应节点的深度。判断深度是否相同;随后根据x、y值对应的节点找其父节点,获取其父节点的值,判断二者父节点值是否相同。

typedef struct TreeNode TN;

//求所给值对应的节点深度

int ValHigh(TN* root,int val,int high)

{

if(!root)

return 0;

if(root->val==val)

return high;

int left = ValHigh(root->left,val,high+1);

if(left)

return left;

return ValHigh(root->right,val,high+1);

}

//求其父节点值

int FatherNode(TN* root,int val)

{

if(!root)

return 0;

if((root->left&&root->left->val==val)||(root->right&&root->right->val==val))

return root->val;

int left = FatherNode(root->left,val);

if(left)

return left;

return FatherNode(root->right,val);

}

bool isCousins(struct TreeNode* root, int x, int y)

{

//求节点深度

int xhigh = ValHigh(root,x,1);

int yhigh = ValHigh(root,y,1);

if(xhigh!=yhigh)

return false;

//求父节点值

int father1 = FatherNode(root,x);

int father2 = FatherNode(root,y);

if(father1==father2)

return false;

return true;

}

3. 1431. 拥有最多糖果的孩子 - 力扣(LeetCode)

//思路:一次遍历判断。

bool* kidsWithCandies(int* candies, int candiesSize, int extraCandies, int* returnSize)

{

int max = -1;

for(int i = 0;i<candiesSize;i++)

{

if(candiesi>max)

max = candiesi;

}

bool* ans = (bool*)malloc(sizeof(bool)*101);

int count = 0;

for(int i = 0;i<candiesSize;i++)

{

if(candiesi+extraCandies>=max)

anscount++ = true;

else

anscount++ = false;

}

*returnSize = count;

return ans;

}

相关推荐
怕浪猫8 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i9 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
7yewh10 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
Evand J10 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
leikooo10 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
小师兄吃牛肉10 小时前
C语言篇:宏
c语言·开发语言
炸膛坦客11 小时前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
weixin_3077791311 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha11 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i11 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法