当前位置: 首页 > news >正文

淘宝网站后台怎么做/企业培训心得

淘宝网站后台怎么做,企业培训心得,wordpress企业插件,建设小辣猫的网站目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一些元素,让我们用这些元素连接形成特定的二叉树,每种元素可以使用任意次数,形成的二叉树要…

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

题目给我们一些元素,让我们用这些元素连接形成特定的二叉树,每种元素可以使用任意次数,形成的二叉树要求每个非叶子节点的值都为左右子树节点的值的乘积。

一个数要等于两个数的乘积,那么那两个数一定会比那一个数更小,所以我们可以从较小的数入手,那么我们首先将数组从小到大进行排序,接着从左到右,从小到大去遍历。

在遍历之前我们先做个预处理,我们用一个map来存住所有元素的值,以元素为键,值全部初始化为1。map每个键值对的含义就是以键为根节点能形参的二叉树有多少个,因为每个元素都可以以自身一个节点为一棵符合标准的二叉树,所以是初始化为1。

初始化完毕就开始遍历,我们需要套两层for循环,第一层去遍历每个根节点,去更新以当前节点为根节点所能形成的二叉树的数量,更新的方法就是第二层for循环去遍历比这个节点的值更小的元素,因为要相乘等于当前元素,那么乘数肯定是比当前元素更小的。

第一层遍历我们设下标为 i ,第二层下标为 j ,我们去寻找 arr[ i ] / arr[ j ] 这个元素在不在我们的map里,如果在,那么我们就把map里键为arr[ i ] 的键值对中的值加上以那两个乘数为根节点能形成的二叉树的数量的乘积,化简一下就是 m[ arr [ i ] ] += m[ arr[ i ] / arr[ j ] ] * m[ arr[ j ] ]。

由于我们是从小到大遍历的,所以我们每次都是会更新比后面的数更小的元素,以此元素为根节点能形参的二叉树,这样就可以得到推导出以后面较大的元素为根节点能形参的二叉树的数量。所以虽然我们没有用到dp数组,但它本质上来说还是属于动态规划。

还有一点要注意的就是题目有说要对结果取余10的九次方加7,所以为了避免数值溢出,我们每次操作都要做一个取余的操作。

代码:

class Solution {
public:int numFactoredBinaryTrees(vector<int>& arr) {int res=arr.size(); //单个节点可以单独为一棵树,初始化为数组长度sort(arr.begin(),arr.end());unordered_map<int,long>m;   //用来记录以每个数为根节点的二叉树数目for(int i:arr){m[i]=1;}for(int i=0;i<arr.size();i++){for(int j=0;j<i;j++){//如果发现arr[i]整除arr[j]的数也在数组里,那么可以多组成的二叉树数目等于以arr[j]为根节点的二叉树数目乘上以另一个除数为根节点的二叉树数目.if(arr[i]%arr[j]==0&&m.find(arr[i]/arr[j])!=m.end()){int t=m[arr[i]/arr[j]]*m[arr[j]]%1000000007;m[arr[i]]+=t;   //更新以arr[i]为根节点的二叉树数目.res+=t;res%=1000000007;}}}return res;}
};

http://www.bjxfkj.com.cn/article/610.html

相关文章:

  • 人跟狗做网站/做网站设计哪里有
  • 济南营销型网站建设公司/广州网站建设
  • 想给大学做网站/网站seo推广排名
  • 网站设计考虑因素/武汉网站seo
  • 党团建设网站/百度seo原理
  • 天津专业智能建站/大连百度关键词排名
  • 网站建设包装策略/百度推广竞价排名
  • 重庆网站建设哪家公司好/百度推广后台登陆入口
  • 微博seo排名优化/什么公司适合做seo优化
  • Nginx做跳转到其他网站/福州关键词搜索排名
  • 网站建设群号/自己建网站详细流程
  • 什么网站框架/百度发广告怎么发
  • 网站标题logo修改代码/上海sem
  • 手机端公司网站怎么做/网站建站模板
  • 网站建设官网免费模板/推广技术
  • asp.net 网站管理工具/seo推广案例
  • 机械设备网站建设/高端网站公司
  • 企业网站建设首选智投未来1/百度网址链接是多少
  • 国基建设集团有限公司网站/郑州百度网站快速优化
  • 出售东西的网站怎么做/东莞seo排名公司
  • 迈网科技 官方网站/旺道seo优化软件怎么用
  • 建站公司还有前途吗/神马移动排名优化
  • 学校门户网站建设的意义/免费制作网站app
  • 做网站客户一般会问什么问题/免费建立网站
  • 免费建设在线商城的网站/网络营销策划书1500字
  • 信阳市人民政府门户网站/网络营销带来的效果
  • 余姚网站推广策划案/做网站的公司哪家最好
  • 肇庆网站建设/seo优化排名方法
  • 软件开发平台方案/优化大师的作用
  • 做网站源代码/深圳全网推广托管