代码编织梦想

做算法题

题目描述

定一棵包含 NN 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A_1, A_2, ··· A_NA1​,A2​,⋅⋅⋅AN​,如下图所示:

现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。

注:根的深度是 1。

输入描述

第一行包含一个整数 N(1 \leq N \leq 10^5)N(1≤N≤105)。

第二行包含 NN 个整数 A_1, A_2, ··· A_N (−10^5 \leq A_i \leq 10^5)A1​,A2​,⋅⋅⋅AN​(−105≤Ai​≤105)。

输出描述

输出一个整数代表答案。

输入输出样例

示例

输入

7
1 6 5 4 3 2 1

输出

2

 

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int N = scan.nextInt();
        int arr[]=new int[N];
        for(int i = 0; i < N; i++){
          arr[i] = scan.nextInt();
        }
        int count = 1;//层数
        int temp = N;
        while(true){//计算二叉树层数
          temp /= 2;
          if(temp == 0){
            break;
          }
          count++;
        }
        int ans = 0;//输出结果层数
        int max = 0;//计算最大值
        int n = 1;
        for(int i = 1; i <=count; i++){
          int sum = 0;
          if(i == count){
            for(int j = (int)Math.pow(2,i-1)-1; j < N; j++){
              sum += arr[j];
            }
            if(sum > max){
              ans = count;
            }
          }else{
            for(int j = n - 1; j < 2*n - 1; j++){
              sum += arr[j];
            }
            if(sum > max){
              max = sum;
              ans = i;
            }
            n *= 2;
          }
        }
        System.out.println(ans);
        scan.close();
    }
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_49033047/article/details/129222790

db2使用经验积累-爱代码爱编程

1     前言.................................................................................................................................................................. 7 2    

基于elasticsearch的开源报警elastalert_莱昂纳多达芬奇的博客-爱代码爱编程

Elastalert是Yelp公司用python写的一个报警框架,github地址为   https://github.com/Yelp/elastalert 文档参见: http://elastalert.readthedocs.io/en/latest/elastalert.html 安装要求: ·        Elastics

string.format()的详细用法_anita9999的博客-爱代码爱编程_string.format

问题 在开发的时候一段字符串的中间某一部分是需要可变的 比如一个Textview需要显示”XXX用户来自 上海 年龄 21 性别 男”  其中的 XXX 是用户名 每个用户也是不一样的  地区 上海 为可变的string数据  年龄 21 为可变的int数据  性别 男 为可变的string数据  遇到这种情况你们是怎么样解决的呢?把这段字符串保存在常量

微信小程序海报生成图片合成工具类_不一样的程序员的博客-爱代码爱编程

背景 我目前参与小程序的产品研发,为了方便产品的转发和推广,会对课提供生成海报转发或者分享的功能,前期海报合成这个功能是由项目组的老同事负责开发,后来小程序海报这块功能需要单独做一个功能用于专门根据不同的课程类型来生成海报

nl2sql的发展_何33512336的博客-爱代码爱编程_nl2sql

前言 NL2SQL(Natural Language to SQL)是一项将用户的自然语句转为可执行 SQL 语句的技术,有很大的实际应用价值,对改善用户与数据库之间的交互方式有很大意义。在本文中,追一科技介绍了 NL2SQL 的价值,及其过去、现在与未来,希望能有更多关于 NL2SQL 的落地场景研究。 NL2SQL 的价值 在 AI、区块链、Io

反射 getDeclaredField 报错java.lang.NoSuchFieldException-爱代码爱编程

  今日需求上除了需要导出excel,方便运营的统计与数据整理,对于导出,当然是做了无数个了,今日则主要说一个小细节,关于getDeclaredField的知识。 先说一下场景使用: 需要将信息和所需字段一一对应,然后放入excel,并找位置存储;将路径存储到服务器,便于调用方直接读取;  使用getDeclaredField则是对于步骤一的存值出现了

WebView2 使用及现状-爱代码爱编程

前言 之前写过一篇文章来介绍WebView2:.Net桌面端开发使用WebView2,可以放弃CefSharp? 当时WebView2还是预览版,截止到今天,官方已经更新到1.0.705.50正式版本,对应的chrome 内核版本为:88.0.705.74,可以说更新的还挺频繁。刚好公司有个项目使用了CefSharp,就深入研究了一下WebView2的使

互联网日报 | 5月24日 星期一 | 小米11系列全球销量突破300万台;淘宝特价版更名“淘特”;腾讯视频付费会员达1.25亿...-爱代码爱编程

今日看点 ✦ 冲击高端初见成效,小米11系列全球销量突破300万台 ✦ 腾讯视频付费会员数增至1.25亿,音乐会员增至6100万 ✦ “淘宝特价版”宣布品牌升级:APP正式更名为“淘特” ✦ 比亚迪半导体车规级MCU量产装车突破1000万颗 ✦ 拼多多拉开百亿补贴两周年大幕,开设“官方合作旗舰店”入口 ✦ 京东云开启产业服务元年,618投

2021新宁二中高考喜报成绩查询,新宁一中、二中、崀高等校高考喜报!最高分684,全县大获得丰收!...-爱代码爱编程

原标题:新宁一中、二中、崀高等校高考喜报!最高分684,全县大获得丰收! “”,免费 2018年高考成绩已公布 几家欢喜几家愁 考生们终于迎来一个 纠结而又激动人心的时刻 就在26日凌晨 湖南2018高考成绩查询开启 新宁一中2018年高考情况汇报 成绩一出 学霸分数立刻闪瞎 让我们看看这些新宁人的骄傲! 喜 报 20

2021年南昌十五中高考成绩查询,喜报|2020年南昌市高考喜报合集(更新时间:2020.9.14))...-爱代码爱编程

高考新闻发布会.jpg (79.46 KB, 下载次数: 58) 2020-7-23 16:06 上传 7月23日上午,2020江西高考分数线出炉啦! 江西省2020年全国普通高校各类招生录取最低控制分数线 文史类 一本547分 二本488分 军校生537分 理工类 一本535分 二本463分 军校生525分 【江西省高考状

计算机考研学校报录比,【22考研】热门院校报录比汇总-爱代码爱编程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 985/211高校报录比 1、同济大学 该校有40个专业的报录比在10:1以上,超过20:1的专业有12个。最高的是信息与通信工程,达到了49:1。 2、东南大学 20考研报考东南大学的有19237人,近四年的报考人数处于稳步增长的状态。2020年硕士总录取人数相比2019年扩招970人,增幅达1

Struts2 S2-062(CVE-2021-31805)漏洞分析及复现-爱代码爱编程

简介 2022年4月12日,Apache发布安全公告,修复了一个Apache Struts2 中的远程代码执行漏洞S2-062(CVE-2021-31805),攻击者可以利用此漏洞来控制受影响的系统。该漏洞是由于 2020 年 S2-061(CVE-2020-17530)的不完整修复造成的,当开发人员使用了 %{…} 语法进行强制OGNL解析时,仍有一些