CSDN 年度总结|知识改变命运,学习成就未来

在这里插入图片描述

欢迎来到英杰社区:
https://bbs.csdn.net/topics/617804998

欢迎来到阿Q社区:
https://bbs.csdn.net/topics/617897397


📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。
📗本文收录于恒川的日常汇报系列,大家有兴趣的可以看一看
📘相关专栏C语言初阶、C语言进阶系列、恒川等,大家有兴趣的可以看一看
📙Python零基础入门系列,Java入门篇系列、docker技术篇系列、Apollo的学习录系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下哦!

回顾 2023 恒川的编程之旅

  • 一、这一年的日常内容
    • 1. 每天坚持做一道力扣
    • 2. 每天传码云
    • 3. 每天坚持背单词
    • 4. 坚持写博客
    • 5. 坚持跑步锻炼
  • 二、这一年的学习历程
    • 23年1月到4月
    • 23年5月到6月
    • 23年7月
    • 23年8月
    • 23年9月
    • 23年10月
    • 23年11月
    • 23年12月
  • 三、这一年取得的成就
  • 四、关于编程的新年Flag
  • 五、我的最佳代码实践

  知识改变命运,学习成就未来。时序更替,岁物丰成。回望来时路,我们已走过千山万水;展望新征程,曙光跃动在地平线上。在成长的道路上,不断充实自己,才能走得更远。大家好,我是恒川,目前是一名大二的学生,来csdn已经一年了,这篇博客不谈技术,回顾恒川 2023年 的编程之旅。

一、这一年的日常内容

1. 每天坚持做一道力扣

在这里插入图片描述

  每天坚持做一道力扣题目,目前已经坚持快200天了,最近准备搞一个力扣刷题专栏,刷力扣的小伙伴可以期待一下了。
百天勋章
在这里插入图片描述

2. 每天传码云

在这里插入图片描述

  关注我的人都知道,我的仓库已经传了400+了,传仓库的好处我就不介绍了,这四百天的日日夜夜,现在仍在坚持。

3. 每天坚持背单词

  不知道大家背单词都用的什么app,我一开始先用的百词斩,后来同学都说不背单词这款软件效果更好,于是八月底我就忍痛割爱了百词斩。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 坚持写博客

  我来csdn一年多了,23年一共写了104篇博客,通过写博客获得了许多益处,不仅锻炼了自己的创作能力,而且还收获了许多志同道合的朋友们。
在这里插入图片描述

5. 坚持跑步锻炼

  在追求技术的同时,也要关注自己的身体和心理健康。确保有足够的休息和娱乐时间,保持平衡的生活。
在这里插入图片描述

二、这一年的学习历程

23年1月到4月

  23年1月到4月,我系统的学习了C语言。
在这里插入图片描述

  期间ChatGPT和文心一言的爆火,让编程更加简单。
在这里插入图片描述
在这里插入图片描述

23年5月到6月

  23年5月到6月,我自学了python,并参加了新星计划。
  获得了实力新星奖的证书和赛道的top1。
在这里插入图片描述

6月我还学了些Java语言,并创建了专属于Java的专栏。
在这里插入图片描述
6月我的勤写标兵已经达到了四级
在这里插入图片描述

23年7月

  7月我简单了解了docker,也创建了专属于docker的专栏,该专栏发了15篇内容,文章平均质量分 98,这是我的docker的专栏,欢迎大家订阅,后续持续更新。
在这里插入图片描述
七月份我还报名当了新星计划的导师,并带领60多人学习了Java
在这里插入图片描述

23年8月

  8月我参加Apollo自动驾驶征文活动,并发布了一些文章,收获蛮大的。
在这里插入图片描述

23年9月

  9月我参加了索尼的创意征文活动,与机器人进行了有趣的互动!
在这里插入图片描述

23年10月

  10月我测评了ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

23年11月

  11月有点忙,只发了一些送书的文章。
在这里插入图片描述

23年12月

  12月忙着学校的期末考试学校的课程,没怎么发博客。

三、这一年取得的成就

粉丝量的进步
在这里插入图片描述
热榜第一上过N次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2023年新星计划导师双证书

在这里插入图片描述

在这里插入图片描述

文心一言使用权
在这里插入图片描述
在这里插入图片描述

坚果哥受邀西安大会
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
感谢胡老师的热情款待
在这里插入图片描述

钉钉阿里云
在这里插入图片描述
在这里插入图片描述

索尼征文获奖证书
在这里插入图片描述

四、关于编程的新年Flag

  新的一年,大家是否已经准备好迎接新的挑战和机遇了呢?让我们一起立下新年Flag,为自己设定一些小目标,让我的2024更加精彩!

  2024年,我准备学习个新技术, 确定学习一门新的编程语言、框架或工具,并深入了解其特性和用途。并参与开源项目,贡献到开源项目是提高编程技能的好方法。你也可以选择一个感兴趣的项目,解决一些问题或者提出新的功能,这有助于你学习协作开发和提高代码质量的经验。
  2024年,我准备深入研究算法和数据结构,对算法和数据结构的深入了解有助于解决复杂的编程问题。制定计划,逐步学习和应用这些概念,提高解决问题的效率。
  2024年,我准备参与一些编程挑战,每周或每月参与一些编程挑战,例如LeetCode、牛客网等,蓝桥杯也在准备。想找一个自己感兴趣的项目,可能是一个应用、一个网站或者一个工具。通过这个项目,应用所学的知识,锻炼项目管理和开发的技能。并定期学习更新、订阅技术博客、参加技术会议、听取讲座等方式,保持对行业动态的了解,不断更新自己的知识。

五、我的最佳代码实践

  把二叉搜索树转换为累加树,我觉得这是2023年当中做的最有意思的题目。
在这里插入图片描述
  给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。
在这里插入图片描述

提醒一下,二叉搜索树满足下列约束条件:

  • 节点的左子树仅包含键 小于 节点键的节点。
  • 节点的右子树仅包含键 大于 节点键的节点。
  • 左右子树也必须是二叉搜索树。

递归函数参数以及返回值
这里很明确了,不需要递归函数的返回值做什么操作了,要遍历整棵树。

同时需要定义一个全局变量pre,用来保存cur节点的前一个节点的数值,定义为int型就可以了。

代码如下:

int pre = 0; // 记录前一个节点的数值
void traversal(TreeNode* cur)

确定终止条件
遇空就终止。

if (cur == NULL) return;

确定单层递归的逻辑
注意要右中左来遍历二叉树, 中节点的处理逻辑就是让cur的数值加上前一个节点的数值。

代码如下:

traversal(cur->right);  
cur->val += pre;       
pre = cur->val;
traversal(cur->left);  

递归法整体代码如下:

class Solution {
private:
    int pre = 0; 
    void traversal(TreeNode* cur) { 
        if (cur == NULL) return;
        traversal(cur->right);
        cur->val += pre;
        pre = cur->val;
        traversal(cur->left);
    }
public:
    TreeNode* convertBST(TreeNode* root) {
        pre = 0;
        traversal(root);
        return root;
    }
};

Java
递归

class Solution {
    int sum;
    public TreeNode convertBST(TreeNode root) {
        sum = 0;
        convertBST1(root);
        return root;
    }
    public void convertBST1(TreeNode root) {
        if (root == null) {
            return;
        }
        convertBST1(root.right);
        sum += root.val;
        root.val = sum;
        convertBST1(root.left);
    }
}

迭代

class Solution {
    public TreeNode convertBST(TreeNode root) {
        int pre = 0;
        Stack<TreeNode> stack = new Stack<>();
        if(root == null) //edge case check
            return null;

        stack.add(root);

        while(!stack.isEmpty()){
            TreeNode curr = stack.peek();
            if(curr != null){ 
                stack.pop();
                if(curr.left != null)       
                    stack.add(curr.left);
                stack.add(curr);            
                stack.add(null);
                if(curr.right != null)      
                    stack.add(curr.right);
            }else{
                stack.pop();
                TreeNode temp = stack.pop();
                temp.val += pre;
                pre = temp.val;
            }
        }
        return root;
    }
}

  这一年,我们从平凡中看见风采,在奔忙中体现风格,在时光的斑驳里镌刻下熠熠生辉的印记。讲到这里,我的CSDN 年度总结终于画上了一个圆满的句号。知识改变命运,学习成就未来,感谢CSDN这个平台,让我可以和大家一起交流学习,共同进步,在这一年中,我不仅收获了粉丝量,也结交了许多志同道合的朋友们,也学到了很多知识。2024年我们都会变得更好,一起加油吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/328377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

目标检测开源数据集——道路坑洼

一、危害 对车辆的影响&#xff1a;道路坑洼会导致车辆行驶不稳&#xff0c;增加车辆的颠簸&#xff0c;不仅影响乘坐舒适度&#xff0c;还可能对车辆的悬挂系统、轮胎等造成损害。长期在坑洼路面上行驶&#xff0c;车辆的减震系统、悬挂系统等关键部件容易受损&#xff0c;进…

C语言第一弹---C语言基本概念(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 C语言基本概念 1、C语言是什么&#xff1f;2、C语言的历史和辉煌3、编译器的选择VS20223.1、编译和链接3.2、编译器对比3.3、VS2022优缺点 4、VS项目和源文件、头…

IDEA 在本地启动多个 SpringBoot 后端服务模拟集群

目录 方式一&#xff1a;使用 IDEA 界面在多个后端端口运行同一个项目 方式二&#xff1a;通过控制台在运行项目 jar 包时传入端口配置 方式一&#xff1a;使用 IDEA 界面在多个后端端口运行同一个项目 1. 点击 Run / Debug 在默认端口启动项目 2. 点击 Services&#xff0…

Android中的SPI实现

Android中的SPI实现 SPI是JVM世界中的标准API&#xff0c;但在Android应用程序中并不常用。然而&#xff0c;它可以非常有用地实现插件架构。让我们探讨一下如何在Android中利用SPI。 问题 在Android中&#xff0c;不同的提供者为推送功能提供服务&#xff0c;而在大型项目中…

『C++成长记』内存管理

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、C/C内存分布 二、内存管理方式 &#x1f4d2;2.1C语言内存管理方式 &#x…

vue2使用 element表格展开功能渲染子表格

默认样式 修改后 样式2 <el-table :data"needDataFollow" border style"width: 100%"><el-table-column align"center" label"序号" type"index" width"80" /><el-table-column align"cent…

CTF CRYPTO 密码学-3

题目名称&#xff1a;反编译 题目描述&#xff1a; 分析 题目给出一个pyc后缀的文件&#xff0c;需要使用uncompyle6模块去还原成py文件 uncompyle6简介 uncompyle6 是一个 Python 反编译器&#xff0c;它能够将 Python 字节码&#xff08;.pyc 文件&#xff09;转换回源代码&…

定制键盘设计

方案1 stm32方案 参考 智辉君的键盘 方案2 沁恒方案 CH9328与ch9329区别&#xff1a;一个是单向&#xff0c;一个是双向。 ch9329是ch9328的升级款。 原理篇4、CH9328使用-CSDN博客https://blog.csdn.net/qq_44817843/article/details/112124822

容器部署的nextcloud配置onlyoffice时开启密钥

容器部署的nextcloud配置onlyoffice时开启密钥 配置 进入onlyoffice容器 docker exec -it 容器id bash编辑配置vi /etc/onlyoffice/documentserver/local.json enable设置为true&#xff0c;并配置secret 重启容器&#xff0c;并将配置的密钥填入nextcloud密钥页面 docker r…

力扣hot100 零钱兑换 背包 滚动数组

Problem: 322. 零钱兑换 文章目录 &#x1f388; 思路&#x1f496; Code &#x1f388; 思路 &#x1f468;‍&#x1f3eb; 大佬题解 &#x1f496; Code ⏰ 时间复杂度: O ( n ) O(n) O(n) class Solution {public int coinChange(int[] coins, int amount){int INF …

「爱下馆子」真的会寿命更短吗?

​“爱下馆子”真的会寿命更短吗&#xff1f; 随着现代生活节奏的加快&#xff0c;越来越多的人选择在外就餐&#xff0c;也就是我们常说的“下馆子”。然而&#xff0c;最近的一项研究发现&#xff0c;每天至少两顿在外就餐的人&#xff0c;全因死亡率增加了49%。这一发现引发…

Python图像处理【18】边缘检测详解

边缘检测详解 0. 前言1. 图像导数2. LoG/zero-crossing2.1 Marr-Hildteth 算法 3. Canny 与 holistically-nested 算法3.1 Canny 边缘检测3.2 holistically-nested 边缘检测 小结系列链接 0. 前言 边缘是图像中两个区域之间具有相对不同灰级特性的边界&#xff0c;或者说是亮度…

Configure Virtual Serial Port Driver串口模拟器VSPD

背景 串口通讯想必做硬件开发和软件的人来说都相当了解&#xff0c;以前的电脑&#xff0c;基本标配都包含一个串口。但现在的电脑&#xff0c;基本都没有配置串口了&#xff0c;如果要使用串口的功能&#xff0c;基本就要用一个USB转串口的硬件模块。 虚拟串口&#xff08;虚…

不同打包工具下的环境变量配置方式对比

本文作者为 360 奇舞团前端开发工程师 天明 前言 在现代的JavaScript应用程序开发中&#xff0c;环境变量的配置是至关重要的。不同的应用场景和部署环境可能需要不同的配置&#xff0c;例如开发、测试和生产环境。最常见的需求是根据不同的环境&#xff0c;配置如是否开启sour…

Transformer从菜鸟到新手(七)

引言 上篇文章加速推理的KV缓存技术&#xff0c;本文介绍让我们可以得到更好的BLEU分数的解码技术——束搜索。 束搜索 我们之前生成翻译结果的时候&#xff0c;使用的是最简单的贪心搜索&#xff0c;即每次选择概率最大的&#xff0c;但是每次生成都选择概率最大的并不一定…

C++实战Opencv第一天——win11下配置vs,opencv环境和运行第一个c++代码(从零开始,保姆教学)

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库&#xff0c;它提供了大量的通用算法和功能&#xff0c;用于处理图像和视频数据。C 通常提供比 Python 更高的执行速度&#xff0c;对于需要高性能处理的任务&#x…

【XR806开发板试用】留言板功能开发

开发板简介 XR806开源鸿蒙开发板是一款基于XR806芯片设计&#xff0c;高度集成WiFi/BLE/常用外设&#xff0c;可供开发者进行方案评估、DIY或小规模产品研发&#xff0c;可广泛应用于智能家居、智能楼宇、智能城市和工业互联等领域。 搭载OpenHarmony系统&#xff08;已通过O…

Linux中的yum源仓库和NFS文件共享服务

一.yum简介 1.1 yum简介 yum&#xff0c;全称“Yellow dog Updater, Modified”&#xff0c;是一个专门为了解决包的依赖关系而存在的软件包管理器。类似于windows系统的中电脑软件关键&#xff0c;可以一键下载&#xff0c;一键安装和卸载。yum 是改进型的 RPM 软件管理器&am…

使用CloudFlare-Woker搭建简易网站

使用CloudFlare-Woker搭建简易网站 1、首先到CloudFlare官网登录或注册自己的账号&#xff1a;Cloudflare 中国官网 | 智能化云服务平台 | 免费CDN安全防护 | Cloudflare (cloudflare-cn.com) 注册一个账号 2、登录账号后进入仪表盘网页&#xff0c;选择Workers & Pages页…

2019年认证杯SPSSPRO杯数学建模C题(第二阶段)保险业的数字化变革全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 基于统计建模的车险业数字变革研究 C题 保险业的数字化变革 原题再现&#xff1a; 车险&#xff0c;即机动车辆保险。保险自身是一种分散风险、消化损失的经济补偿制度&#xff0c;车险即为分散机动车辆在行驶过程中可能发作的未知风险和损失…