-
算法学习-万物皆可搜(dfs/bfs/回溯)
一、DFS(深度优先遍历)1.1树形DFSLeetCode 104 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 123int maxDepth(TreeNode... -
算法学习-玩转双指针
如果说哈希表是用空间换取时间的典范,那么双指针则是将“状态压缩”与“线性扫描”结合得最完美的艺术。在 LeetCode 的高频面试题中,双指针的身影无处不在——从经典的“两数之和”到复杂的“接雨水”问题,它通过巧妙地维护两个索引之间的不变量,避... -
Kaggle&天池-新闻推荐Baseline解析
一、赛题理解1.1 赛题简介 此次比赛是新闻推荐场景下的用户行为预测挑战赛, 该赛题是以新闻APP中的新闻推荐为背景, 目的是要求我们根据用户历史浏览点击新闻文章的数据信息预测用户未来的点击行为, 即用户的最后一次点击的新闻文章, 这道赛题的设计... -
算法学习-字符串
算法学习-字符串字符串处理是计算机科学的基础领域,涵盖了从简单的文本操作到复杂的模式匹配算法。字符串由字符序列组成,是信息表示和交换的基本形式。在编程中,字符串操作无处不在:用户输入处理、文件读写、数据解析、文本搜索等都涉及字符串算法。掌握高效的字符... -
算法学习-并查集
算法学习-并查集并查集(Union-Find)是一种处理不相交集合合并及查询问题的数据结构,它支持两种基本操作:合并两个集合(Union)和查询元素所属集合(Find)。这个数据结构在计算机科学中有着广泛的应用,从图的连通性判断到最小生成树算法,从图... -
Git使用方法详解
Git使用方法详解Git作为当今最流行的分布式版本控制系统,已经成为软件开发的标准工具。无论是个人项目还是大型团队协作,Git都提供了强大的版本管理能力。理解Git的核心概念和工作原理,掌握常用命令和最佳实践,对于现代软件开发者至关重要。本文将全面介... -
Java基础学习(三):多线程、网络编程与新特性
Java基础学习(三):多线程、网络编程与新特性Java作为一门成熟的编程语言,在多线程编程和网络通信方面提供了强大的支持,这两大领域是现代分布式系统和高性能应用的核心技术。同时,随着Java语言的持续演进,Lambda表达式、Stream API等... -
Java基础学习(二):集合框架、异常处理与IO
Java基础学习(二):集合框架、异常处理与IO在掌握了Java语言基础和面向对象编程之后,进一步学习集合框架、异常处理和输入输出(IO)系统是提升Java编程能力的关键步骤。这些组件构成了Java标准库的核心部分,几乎在每个Java应用程序中都会用... -
Java基础学习(一):语言基础与面向对象
Java基础学习(一):语言基础与面向对象Java作为一门历史悠久且持续发展的编程语言,在企业级应用、移动开发和大数据等领域占据着重要地位。它的设计哲学强调简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、高性能、多线程和动态性。本文将从...