作者:~小明学编程
文章专栏:每日一练——Java
格言:目之所及皆为回忆,心之所想皆为过往
目录
给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。
比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工 1 的一个下属,但是由于 并不是直系 下属,因此没有体现在员工 1 的数据结构中。
现在输入一个公司的所有员工信息,以及单个员工 id ,返回这个员工和他所有下属的重要度之和。
示例:
输入:[[1, 5, [2, 3]], [2, 3, []], [3, 3, []]], 1
输出:11
解释:
员工 1 自身的重要度是 5 ,他有两个直系下属 2 和 3 ,而且 2 和 3 的重要度均为 3 。因此员工 1 的总重要度是 5 + 3 + 3 = 11 。
- class Solution {
-
- public int getImportance(List
employees, int id) { - for (Employee emp:employees) {
- // System.out.println("empid="+emp.id+"id="+id);
- if (emp.id==id) {
- // System.out.println("yes");
- if (emp.subordinates.size()==0) {
- return emp.importance;
- } else {
- for (int x:emp.subordinates) {
- // System.out.println(emp.importance);
- // System.out.println(x);
- emp.importance += getImportance(employees,x);
- // System.out.println(ids+" "+x);
- }
- return emp.importance;
- }
- }
- }
- return 0;
- }
- }
1013. 将数组分成和相等的三个部分 - 力扣(LeetCode)
给你一个整数数组 arr,只有可以将其划分为三个和相等的 非空 部分时才返回 true,否则返回 false。
形式上,如果可以找出索引 i + 1 < j 且满足 (arr[0] + arr[1] + ... + arr[i] == arr[i + 1] + arr[i + 2] + ... + arr[j - 1] == arr[j] + arr[j + 1] + ... + arr[arr.length - 1]) 就可以将数组三等分。
- class Solution {
- public boolean canThreePartsEqualSum(int[] arr) {
- int sum = 0;
- int k=0;
- for (int i=0;i
- sum += arr[i];
- }
- if (sum%3!=0) {
- return false;
- } else {
- k = sum/3;
- }
- // System.out.println(k);
- sum=0;
- int judge = 0;
- for (int i=0;i
- sum += arr[i];
- System.out.println(sum);
- if(sum==k) {
- judge++;
- sum=0;
- }
-
- }
- if (judge>=3) {
- return true;
- } else {
- return false;
- }
- }
- }
-
相关阅读:
mysql分区
Python标准库分享之时间与日期 (time, datetime包)
Oracle数据库中的table@xyz是什么意思?
06目标检测-One-stage的目标检测算法
PyTorch 深度学习之卷积神经网络(基础篇)Basic CNN(九)
学习vue第一天
Linux命令--权限(chmod、chown)--使用/实例
【Python】13.模块
华为hcip考试,询问您解答
在docker容器里连接上本地mysql8.0.30数据库的方法
-
原文地址:https://blog.csdn.net/m0_56911284/article/details/127430249