leetcode练习题

LeetCode编程练习题 1、743. 网络延迟时间 https://leetcode-cn.com/problems/network-delay-time/ 2、151. 翻转字符串里的单词 https://leetcode-cn.com/problems/reverse-words-in-a-string 3、681. 最近时刻 https://leetcode-cn.com/problems/next-closest-time 4、79. 单词搜索 https://leetcode-cn.com/problems/wor 阅读详情
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode() : val(0), left(nullptr), right(nullptr) {}
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
};
class Solution {
public:
    vector<int> levelOrder(TreeNode* root) {
        vector<int> result;
        if(root == nullptr) {
            return result;
        }
        queue<TreeNode*> que;
        int depth = 1;
        que.push(root);
        while (!que.empty()) {
            int count = que.size();
            int curLevelMax = INT_MIN;
            while(count > 0) {
                TreeNode* node = que.front();
                que.pop();
                curLevelMax = node->val > curLevelMax ? node->val : curLevelMax;
                if(node->left)
                    que.push(node->left);
                if(node->right)
                    que.push(node->right);
                count--;
            }
            result.push_back(curLevelMax);
        }
        return result;
    }

    vector<int> getIndex(TreeNode *root, vector<int> target) {
        // 先进行bfs
        vector<int> bfs_result = levelOrder(root);
        //打印bfs结果
        cout << "bfs result :" << endl;
        for(auto each_col : bfs_result) {
            cout << each_col << " " << endl;
        }

        // 然后依次比较
        vector<int> index_result;
        int cur_max_depth = -1;
        for(auto each_targe : target) {
            for(int i = bfs_result.size() - 1; i >= 0; i--) {
                if(bfs_result[i] > each_targe) {
                    cur_max_depth = i+1;
                    break;
                }
            }
            index_result.push_back(cur_max_depth);
            cur_max_depth = -1;
        }
        return index_result;
    }
};

int main() {
    std::cout << "Hello, World!" << std::endl;
    TreeNode root(3);
    TreeNode l1_1(4);
    TreeNode l1_2(11);
    TreeNode l2_1(3);
    TreeNode l2_2(8);
    TreeNode l3_1(7);
    TreeNode l3_2(5);
    root.left = &l1_1;
    root.right = &l1_2;
    l1_1.left = &l2_1;
    l1_2.right = &l2_2;
    l2_1.left = &l3_1;
    l2_2.right = &l3_2;
    Solution s1;
    vector<int> target = {6,2,9,7,9};
    vector<int> com_result =s1.getIndex(&root, target);
    cout <<  "result " << endl;
    for(auto each : com_result)
        cout << each << " ";
    return 0;
}

编程练习题集——leetcode 一、数组 1.1、简单 第1题 可被 5 整除的二进制前缀 给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。 返回布尔值列表 answer,只有当 N_i 可以被 5 整除时,答案 answer[i] 为 true,否则为 false。 示例1: 输入:[0,1,1] 输出:[true,false,false] 解释: 输入数字为 0, 01, 011;也就是十进制中的 0, 1, 3 。只有第一个数可 阅读详情

相关推荐

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

lichensun的博客 1万+

力扣(LeetCode)数据结构练习题

这里我们从题目可知我们要将nums2合并到nums1中,其中nums1的长度为m+n,那么如果我们从nums1的前面开始排序,我们就会因为排序而丢失前面nums1原来的值,所以我们就要从末尾开始排序,所以我们在代码中先定义出三个整形变量end1,end2,end,分别进行运算,进行while循环在两个数组都没比较结束到首元素时我们进行比较后放入nums1的末尾,当有一个nums1的比较元素已经到首元素时,如果nums2的元素还没比较完,那么我们就需要将nums2的元素全排在前面即可。

2302_81249757的博客 3149

ARTIX-7 GTP 3G-SDI 工程构建与调试实战

本文详细介绍了基于ARTIX-7 FPGA和GTP收发器的3G-SDI工程构建与调试实战。从基础概念解析到Vivado工程创建、GTP IP核配置、SDI IP核集成,再到系统集成与时钟域处理,提供了全面的技术指导。文章还分享了调试技巧、常见问题排查方法以及性能验证步骤,帮助开发者快速掌握3G-SDI视频传输技术的实现与优化。

weixin_30443813的博客 256

力扣练习题题库(持续更新)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。

qq_18529581的博客 271

【冷冻电镜】RELION5.0使用教程总结

对于您自己的数据,您可能希望使用各种倾斜系列对齐方法,然后比较每种方法生成的断层扫描图像的质量(参见下一步)。通过检查 CtfFind job 的 tilt_series 目录中的star文件来检查几个倾斜系列的散焦值。GitHub上也有人反应这个问题,目前我的解决方案是下载了较低版本的CTFFIND的,降级到4.1.10可以成功运行。此外,logfile.pdf 文件包含所有显微照片的有用参数图,例如散焦、像散、估计分辨率等,以及整个数据集中这些值的直方图。的目录,以及指向此目录的符号链接。

进阶中的程序员吃吃的博客 4237

深度学习模型轻量化方法之【量化】

量化虽然有着硬件友好和功效提升的特点,但它也引入了模型性能的折衷。因此,设计有效的量化策略需要在模型大小、性能以及运算速度之间做出平衡。随着深度学习算法和硬件加速技术的快速发展,量化方法在使深度网络轻量化和提高部署效率方面持续发挥着重要作用。

m0_73916791的博客 2847

力扣mysql练习题01(简单)

力扣mysql练习题01(简单) 题目 Create table Person (PersonId int, FirstName varchar(255), LastName varchar(255)) Create table Address (AddressId int, PersonId int, City varchar(255), State varchar(255)) Truncate table Person insert into Person (PersonId, LastName, Fi

qq_42370505的博客 245

NVIDIA Jetson之远程控制软件NoMachine安装使用

参考:https://www.bilibili.com/video/BV1cg4y1i776?t=12 0 背景

ZONGXP的博客 1万+

【线性表】- LeetCode力扣三道练习题详解

作者:甘城なつき 文章简介:LeetCode题目:27. 移除元素 26. 删除有序数组中的重复项 88. 合并两个有序数组 三道 OJ 题详解。

qq_63938813的博客 765

SIMULINK开发项目实例 1000 例专栏之第960例--基于电力系统稳定性的建模与仿真场景:-含分布式电源的配电网电压稳定性研究

间歇性与随机性:例如,太阳能依赖于日照强度,风能依赖于风速,这使得它们的输出功率具有不确定性。逆变器接口:大多数分布式电源通过逆变器接入电网,这对电网的动态响应特性产生了影响。位置分散:通常分布在用户侧或靠近负荷中心的位置。本文详细介绍了如何使用Simulink结合Simscape Electrical 构建一个用于研究含分布式电源配电网电压稳定性的模型,并提供了详细的仿真流程说明。

xiaoheshang_123的博客 154

提示词驱动的智能合同生成与审核

第1章:核心概念与背景 1.1.1 问题背景 1.1.1.1 合同生成与审核的需求 合同作为商业和法律领域中的基本工具,其生成和审核过程至关重要。传统的合同生成往往依赖于法律专业人士的手工撰写,这不仅耗时耗力,而且容易出现错误。此外,合

AI天才研究院 1001

LeetCode-SQL练习题总结(MySQL实现)

LeetCode上的SQL练习题一共有十九道,题目网址:https://leetcode-cn.com/problemset/database/ 本文将对其中的部分题做一个总结。 176.查询第二高的薪水: 编写一个 SQL 查询,获取Employee表中第二高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+...

Backcanhave7 2953

华为OD机试 - 项目规划 - 深度优先搜索dfs(Java 2024 C卷 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 1153

【力扣练习题】【双指针】14-最长公共前缀

shou10jin的博客 122

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

力扣leetcode数组和字符串练习题

力扣leetcode数组和字符串练习题

m0_73448003的博客 159

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【力扣练习题】【迭代法】206. 反转链表

在这里插入图片描述。

shou10jin的博客 132

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【力扣练习题】【递归】144/94/145. 二叉树的前、中、后序遍历

前序:中序:后序:在这里插入图片描述。

shou10jin的博客 170

Leetcode力扣必备算法知识和练习题

https://www.bilibili.com/video/BV1xt4y1e7q4?p=1 一、双指针算法 | Two Pointers ​ 双指针算法是指利用两个指针遍历数组(链表),左右指针相向前进或同向前进,在遍历过程中根据某种限制条件进行筛选,通常可以把时间复杂度降低至O(n)。 普通双指针:两个指针同向移动 对撞双指针:两个指针面对面移动 快慢双指针:慢指针+快指针 1、快慢指针 141. 环形链表 public boolean hasCycle(ListNode ..

落拓子ю的博客 477

Leetcode练习题:动态规划

Leetcode练习题:动态规划_不要偷懒xj的博客-优快云博客

bluewelkin的专栏 163

【力扣练习题】【双指针】28-找出字符串中第一个匹配项的下标

shou10jin的博客 344

力扣关于链表有关的练习题

力扣链表题目

m0_61608447的博客 1031

【力扣练习题】【数组】27- 移除元素

【力扣练习题】【数组】27- 删除有序数组中的重复项@

shou10jin的博客 208

【树结构与栈】中等力扣练习题

二叉树中和为目标值的路径:给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。彩灯装饰记录I:一棵圣诞树记作根节点为root的二叉树,节点值为该位置装饰彩灯的颜色编号。请按照从左到右的顺序返回每一层彩灯编号。验证图书取出顺序:现在图书馆有一堆图书需要放入书架,并且图书馆的书架是一种特殊的数据结构,只能按照一定的顺序放入和拿取书籍。给定一个表示图书放入顺序的整数序列p

绚烂的萤火-博客 957

【力扣练习题】【双指针】160-相交链表

如果指针 pA 为空,则将指针 pA 移到链表 headB 的头节点;如果指针 pB 为空,则将指针 pB 移到链表 headA 的头节点。如果指针 pA 不为空,则将指针 pA 移到下一个节点;如果指针 pB 不为空,则将指针 pB 移到下一个节点。当指针 pA 和 pB 指向同一个节点或者都为空时,返回它们指向的节点或者 null。每步操作需要同时更新指针 pA 和 pB。

shou10jin的博客 224

力扣(LeetCode)数据结构练习题(2)

这里的题目也是很明了的,让我们返回一个中间节点就行了 ,那么我们要解决的就是如何找到中间节点,很多人想的办法是遍历一遍求出长度,然后又遍历到中间节点返回,但是这样就会增加时间复杂度了。然后我们就可以将代码往后遍历,这时n3的作用就是提前记住原来n2的next,然后令n2=n3,n1=n2,即可完成往后遍历。现在我们来审题,题目很明了让我们反转一个单向链表,那么这里我们就可以简单思考一下思路了,有了思路我们就可以开始尝试一下写代码了。我们这里是将节点里的指针进行反转即可完成链表的反转。

2302_81249757的博客 1465
上一篇: kinova与intel realsense D435手眼标定
miss_future
博客等级 码龄9年 6粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值