![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法练习笔记
文章平均质量分 94
放下华子我只抽RuiKe5
代码如诗,逻辑如词,用指尖编制世界的模样。
展开
-
CSDN每日一题学习训练——Java版(二叉搜索树迭代器、二叉树中的最大路径和、按要求补齐数组)
在CSDN每日一题学习训练中,我们探讨了Java版的二叉搜索树迭代器、二叉树中的最大路径和以及按要求补齐数组的问题。首先,我们实现了一个二叉搜索树的迭代器,通过中序遍历的方式访问树中的节点。接着,我们求解了二叉树中的最大路径和问题,使用深度优先搜索算法,同时记录当前路径和与最大路径和。最后,我们讨论了如何按要求补齐数组,例如将数组中的每个元素都增加一定的值。这些题目旨在帮助我们巩固Java编程基础,提高解决问题的能力。原创 2023-11-15 23:15:54 · 339 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(分数到小数、罗马数字转整数、x 的平方根)
CSDN每日一题学习训练——Java版,旨在帮助Java开发者提高编程能力。本期题目包括分数到小数、罗马数字转整数和x的平方根三个问题。首先,我们将学习如何将分数转换为小数,通过计算分子除以分母得到的结果。其次,我们将探讨如何将罗马数字转换为整数,通过分析罗马数字的基本规则,例如:I表示1,V表示5,X表示10等。最后,我们将研究如何求解x的平方根,通过使用Java内置的Math.sqrt()方法或者自己实现平方根算法。通过这些题目的训练,我们可以更好地掌握Java编程技巧,提高解决问题的能力。原创 2023-11-14 23:47:43 · 256 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(数据流的中位数、乘积最大子数组、旋转链表)
本文是CSDN每日一题学习训练的Java版,主要涉及三个问题:数据流的中位数、乘积最大子数组和旋转链表。首先,我们讨论了如何求解数据流中的中位数,通过使用大顶堆和小顶堆,我们可以在O(log n)的时间复杂度内找到中位数。接着,我们探讨了如何求解乘积最大子数组,通过使用动态规划的方法,我们可以在O(n)的时间复杂度内解决这个问题。最后,我们讨论了如何判断链表是否旋转,以及如何找到旋转后的链表的头节点。这三个问题都是Java编程中常见的面试题,通过学习和实践这些题目,我们可以提高自己的编程能力。原创 2023-11-13 22:30:22 · 384 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(字符串相乘、子集、删除链表的倒数第 N 个结点)
本文是CSDN每日一题学习训练的Java版,主要涉及三个问题:字符串相乘、子集和删除链表的倒数第N个结点。首先,我们讨论了如何实现字符串相乘,通过使用StringBuilder类的append()方法,我们可以将两个字符串连接在一起。接着,我们探讨了如何生成一个数组的所有子集,通过使用位运算,我们可以快速地找到所有子集。最后,我们讨论了如何删除链表的倒数第N个结点,通过使用双指针法,我们可以在O(n)的时间复杂度内解决这个问题。这三个问题都是Java编程中常见的面试题,通过学习和实践这些题目,我们可以提高自原创 2023-11-13 22:27:37 · 258 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(克隆图、最接近的三数之和、求公式的值)
在CSDN每日一题学习训练中,我们进行了Java版的三个问题的训练。首先,我们解决了克隆图的问题,通过深度优先搜索和哈希表的方法,实现了对无向图的克隆。接着,我们研究了最接近的三数之和问题,通过排序和双指针的方法,找出了所有三元组中和最小的三元组。最后,我们求了公式的值,通过对公式的理解和编程实现,得出了公式的值。这三个问题的训练,不仅提高了我们的编程能力,也增强了我们对算法的理解和应用。原创 2023-11-09 23:51:35 · 340 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(逆序输出、Z 字形变换、输出每天是应该学习还是休息还是锻炼)
本文主要介绍了CSDN每日一题学习训练中的Java版题目,包括逆序输出、Z字形变换和输出每天是应该学习还是休息还是锻炼。逆序输出要求编写一个程序,输入一串字符,然后按照逆序输出;Z字形变换要求编写一个程序,输入一个整数n,然后输出一个n行n列的矩阵,矩阵中的元素按照Z字形排列;输出每天是应该学习还是休息还是锻炼要求编写一个程序,根据当前日期判断今天是星期几,然后输出相应的建议。这些题目旨在帮助读者提高编程能力和逻辑思维能力。原创 2023-11-08 23:19:00 · 212 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(对给定的两个日期之间的日期进行遍历、子集 II、填充每个节点的下一个右侧节点指针)
本篇文章是CSDN每日一题学习训练系列的一部分,主要针对Java编程语言进行讲解。首先,文章介绍了如何对给定的两个日期之间的日期进行遍历,这是Java编程中常见的需求,通过使用Java的日期类库可以方便地实现。接着,文章讲解了子集 II 的问题,这是一个经典的算法问题,通过使用Java的数据结构和算法知识,可以有效地解决。最后,文章探讨了如何填充每个节点的下一个右侧节点指针,这是树形结构中的一个重要概念,通过理解并实践,可以提升编程能力。原创 2023-11-07 20:31:36 · 363 阅读 · 0 评论 -
CSDN每日一题学习训练——Java版(两数相加、二叉树的锯齿形层序遍历、解数独)
涵盖两数相加、二叉树的锯齿形层序遍历、解数独等多种编程技巧和算法。通过完成这些题目,程序员可以不断提高自己的编程能力和逻辑思维。同时,CSDN还提供了丰富的学习资源和社区讨论,帮助程序员更好地学习和成长。原创 2023-11-06 18:07:32 · 178 阅读 · 0 评论