12.25 每日一题 奇偶树

关键词:
【层序遍历】 【dfs】 【bfs】

2021.12.25 奇偶树

在这里插入图片描述

解题思路分析

  • 题干中涉及到树的”层“,因此层序遍历少不了。经典层序遍历就是利用队列的bfs,逐行进队列,再依次推入他们的子节点,先左树后右树,层序遍历次序从左往后保持不变。
  • 偶数层对应奇数,所以level%2 == val%2时返回false
  • 定义pre,根据具体层数初始化后,每到一个值,与pre相比判断是否满足递增或递减的条件即可
  • 最后别忘了更新pre和level就行

BFS层序遍历:(迭代)

  • 总体思路:同层从左往后依次判断,并同时将它们的左右子树依次入队
  • 坑点:进行每一层的循环时,要提前记录好当前层的节点数,int s = q.size(),不可以将q.size()写入每个节点遍历的for循环里,因为q一直在pop和push,每一个节点的循环中,层节点数q.size()实际上一直在改变,需要提前记录
class Solution {
public:
    bool isEvenOddTree(TreeNode* root) {
        // 层序遍历
        if(root == NULL)    return true;
        queue<TreeNode*> q;
        q.push(root);
        int l = 0;
        while(q.size()){
            int pre;
            if(l%2 == 0) pre = INT_MIN;
            else    pre = INT_MAX;
            // 要注意
            int s = q.size();
            for(int i=0;i<s;i++){
                TreeNode* n = q.front();
                q.pop();
                int v = n->val;
                if(l%2 == v%2)  return false;
                if((l%2==1&&v>=pre)||(l%2==0&&v<=pre))    return false;
                pre = v;
                if(n->left!=NULL) q.push(n->left);
                if(n->right!=NULL) q.push(n->right);
            }
            l++;
        } 
        return true;
    }
};
Polygon Cruncher是一个功能强大的三维模型优化工具,可用于减少多边形数量并优化模型,从而改善渲染和性能。它的版本V12.25可以与3D建模软件Max一起使用。 要在Max中使用Polygon Cruncher V12.25,首先需要安装和激活该软件。安装完成后,从Max的菜单栏中选择Polygon Cruncher以打开插件界面。在该界面中,可以调整几个参数来优化模型。 首先,你可以选择要优化的模型文件。Max支持多种文件格式,如.obj、.fbx等。选择一个模型文件后,该文件将被加载到Max中。 接下来,需要选择优化选项。Polygon Cruncher提供了一些预设选项,例如:低,中,高和超高。根据你对优化结果的期望,选择合适的预设选项。 在选择了优化选项后,你可以调整其他参数。例如,你可以设置最大多边形数量、最大顶点数量以及对UV和纹理的保留程度。这些参数将影响模型的细节和外观。 调整参数后,点击“优化”按钮即可开始优化过程。Polygon Cruncher将根据所选的参数和选项,自动减少模型的多边形数量和顶点数。优化完成后,你可以在Max中查看并评估优化后的模型。如果结果满意,保存模型并导出到其他软件中使用。 总的来说,通过使用Polygon Cruncher V12.25和Max,可以快速且有效地优化三维模型,以改善渲染和性能。无论是对于个人项目还是商业项目,这个工具都是非常有用的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值