LeetCode-690. Employee Importance
程序员文章站
2024-03-22 12:34:46
...
Description:
Example 1:
Note:
Solution 1(C++)
算法分析:
这道题明白题目意思就挺好的做。算法过程就是:
根据id找到id相同的Employee,获得其中的importance,然后获得subordinates,遍历其中的id,重复之前的过程。
所以,关键是程序的迭代的实现。
程序分析:
这个题的程序设计,我觉得还是蛮有技巧的。因为首先题目给出的函数本身就可以当一个迭代的函数。然后注意sum初始化为0并没有问题,因为这个函数返回值sum是当前id的improtance,那么函数执行完后,返回到上一层函数,正好可以和之前的improtance累加。所以没问题。
还有一点要注意就是题目中有不同的vector。有必要掌握新的vector遍历方法。
有必要注意employees中存储的是Employee* ,是指针,所以才使用了->运算符。
对于C++中的类,结构体,共用体等具有成员函数或变量的数据类型(对象)时,如果存在对象a,而对象中有成员b,那么可以使用a.b的方式,使用对应的成员。
如果存在变量p,指向a, 即p = &a, 这时可以用p->b来使用成员b。即,->操作符是用于带成员的类型对应指针上,用来提取成员变量或函数用的。p->b等同于(*p).b。对于任意的对象a,写作(&a)->b也是可以的,不过很少有这样写。
主要用于访问类的成员,->主要用于类类型的指针访问类的成员,而.运算符,主要用于类类型的对象访问类的成员。
举例
class A
{public :int a}
A ma;
A *p=&ma;
那么指针p应使用->来访问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就使用->,对象就使用.运算符。
下一篇: tensorboard使用指南
推荐阅读
-
Leetcode每日一题:690.employee-importance(员工的重要性)
-
DFS:690. Employee Importance
-
【Leetcode】690. Employee Importance
-
690. Employee Importance
-
LeetCode-690. Employee Importance
-
aisell(3) employee的crud
-
数据库查询-编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)
-
如果查询表employee中的字段名和字段的数据类型,还有约束条件。 博客分类: oracle SQL
-
【机器学习笔记】使用lightgbm画并保存Feature Importance
-
oracle的练习表---employee 博客分类: 资源 OracleSQLMySQLAccessBlog