一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
非常感谢你阅读本文~
欢迎【👍点赞】【⭐收藏】【📝评论】~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子 https://le-yi.blog.csdn.net/ 博客原创~
文章目录
LCP 44. 开幕式焰火:
「力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。
给定一棵二叉树 root 代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。
样例 1
输入:
root = [1,3,2,1,null,2]
输出:
3
解释:
焰火中有 3 个不同的颜色,值分别为 1、2、3
样例 2
输入:
root = [3,3,3]
输出:
1
解释:
焰火中仅出现 1 个颜色,值为 3
提示
- 1 <= 节点个数 <= 1000
- 1 <= Node.val <= 1000
分析
- 翻译一下题意就是看整个树里一共有几种不同的值。
- 所以考察了2个方面的知识点,一个是二叉树数据结构,一个是统计计数。
- 最容易想到的是用Set之类的数据结构。
- 循环和递归都可以。
- 提示中已经给定了节点值的范围,所以可以使用数组这种底层数据结构去替代Set等数据结构。
- 在遍历树的过程中判断计数,或者在最后再对计数的数据结构遍历计数,这两种方式都可以,在遍历树中判断计数受节点的数量影响,在最后再遍历计数数据结构计数受节点值取值范围影响。
题解
java
/\*\*
\* Definition for a binary tree node.
\* public class TreeNode {
\* int val;
\* TreeNode left;
\* TreeNode right;
\* TreeNode(int x) { val = x; }
\* }
\*/
class Solution {
public int numColor(TreeNode root) {
int ans = 0;
boolean[] flag = new boolean[1001];
dfs(root, flag);
for (boolean f : flag) {
if (f) {
ans++;
}
}
return ans;
}
private void dfs(TreeNode root, boolean[] flag) {
if (root != null) {
flag[root.val] = true;
dfs(root.left, flag);
dfs(root.right, flag);
}
}
}
c
/\*\*
\* Definition for a binary tree node.
\* struct TreeNode {
\* int val;
\* struct TreeNode \*left;
\* struct TreeNode \*right;
\* };
\*/
int numColor(struct TreeNode \*root) {
int ans = 0;
bool flag[1001] = {false};
dfs(root, flag);
for (int i = 1; i < 1001; ++i) {
if (flag[i]) {
ans++;
}
}
return ans;
}
void dfs(struct TreeNode \*root, bool \*flag) {
if (root) {
flag[root->val] = true;
dfs(root->left, flag);
dfs(root->right, flag);
}
}
c++
/\*\*
\* Definition for a binary tree node.
\* struct TreeNode {
\* int val;
\* TreeNode \*left;
\* TreeNode \*right;
\* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
\* };
\*/
class Solution {
public:
int numColor(struct TreeNode \*root) {
int ans = 0;
bool flag[1001] = {false};
dfs(root, flag);
for (bool f : flag) {
if (f) {
ans++;
}
}
return ans;
}
void dfs(struct TreeNode \*root, bool \*flag) {
if (root != nullptr) {
flag[root->val] = true;
dfs(root->left, flag);
dfs(root->right, flag);
}
}
};
python
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!