logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

10.滑动窗口解决:无重复字符的最长子串 | LeetCode 3 Java 题解

本文介绍了LeetCode第3题"无重复字符的最长子串"的两种解法,重点推荐滑动窗口算法。文章首先通过三个示例说明题目要求,强调子串必须是连续且无重复字符的。然后详细讲解了暴力枚举和滑动窗口两种解法,重点分析了滑动窗口的核心步骤:维护双指针窗口、记录字符频次、处理重复字符时收缩左边界。最后提供了Java代码实现,包含for循环和while循环两种写法,并指出算法的时间复杂度为O

文章图片
#算法#leetcode#java +1
11.LeetCode 1004. 最大连续1的个数 III | 滑动窗口解法详解(Java)

文章摘要: 题目要求通过翻转最多k个0,找到二进制数组中最长的连续1子数组。采用两种解法:1)暴力枚举法,双重循环统计子数组0的个数,超过k则停止,时间复杂度较高;2)滑动窗口法,维护窗口内0的计数,通过动态调整左右指针保证0数≤k,高效求得最大长度。后者通过单次遍历实现O(n)时间复杂度,显著提升效率。示例代码展示了两种实现,滑动窗口通过进/出窗口操作优化判断过程,最终返回合法窗口的最大长度。核

文章图片
#算法#leetcode#java
Java8:Java数组详解:从入门到精通,一文就够了

想象这样一个场景:期末考试结束了,老师让你录入班上50名同学的Java成绩。按照我们之前学过的知识,你会怎么做?score1score2score3……一直到score50。听起来就很离谱对吧?不仅代码冗长得吓人,而且如果要统计平均分、找最高分,你还得把这50个变量挨个操作一遍。更糟糕的是,如果班级人数增加到100人,难道还要再加50个变量?显然,我们需要一种更聪明的方式来管理同类型的数据。这就是

文章图片
#开发语言#java
Java11:Java继承详解:让代码复用的艺术更上一层楼

在前面的文章中,我们学习了面向对象的基础概念:类与对象、封装、static关键字等。你已经知道如何用类来描述现实世界中的事物,并通过封装来保护数据的安全。但现实世界是复杂的。猫和狗有很多相似之处——它们都有名字、年龄,都会吃东西、睡觉。如果按照之前的方式,我们需要在Dog类和Cat类中分别定义这些属性和方法,造成大量的重复代码。有没有一种方式,能把这些共性抽取出来,让猫和狗共享呢?这就是我们今天要

文章图片
#开发语言#java
1.Java集合框架入门指南:从零掌握核心数据结构

数据结构是计算机存储、组织数据的方式。简单来说,它就是解决“数据怎么放、怎么找”这个问题的一套方法论。算法是解决问题的计算步骤。比如你要从100万条数据中找到某个值:顺序查找:最多需要100万次比较二分查找(数据有序):最多只需20次比较这就是算法的魅力——用更好的策略解决问题。把自己学到的知识用自己的话写出来,是最好的巩固方式。即使写得不好也没关系,关键是养成总结的习惯。集合框架是Java学习的

文章图片
#java#数据结构#开发语言
5.深入理解Java ArrayList:从底层源码到实战应用

线性表和顺序表。线性表是n个具有相同特性的数据元素的有限序列。听起来有点抽象?其实生活中到处都是线性表:排队买奶茶的队伍(先进先出)手机的通讯录列表(可以上下滑动浏览)书架上一排整齐的书(每本书都有固定位置)线性表在逻辑结构上是连续的(像一条直线),但在物理存储上不一定连续。常见的线性表包括:顺序表、链表、栈、队列等。// 牌面值:1~13// 花色:♠♥♣♦@Override知识点核心要点底层结

文章图片
#java#开发语言
10.Java对象比较完全指南:从equals到Comparable与Comparator

对比维度equalsComparableComparator所属包java.langjava.util方法名返回值booleanint(负/零/正)int(负/零/正)比较能力只能判断相等可判断大小可判断大小侵入性中(覆写Object方法)强(修改类定义)弱(无需修改类)灵活性低低(一种规则)高(多种规则)适用场景判断对象是否相等自然排序定制排序基本类型直接用==比较对象比较equals:判断相等

文章图片
#java#开发语言
Java4:Java程序逻辑控制:让代码学会思考和重复

经过前三篇文章的学习,我们已经掌握了Java的基本数据类型、变量和运算符。但到目前为止,我们写的程序都是"直线"执行的——从上到下,一行接一行,没有任何分支和转折。这就好比一台只会走直线的机器人,遇到岔路口不会拐弯,碰到重复劳动也不会偷懒。显然,真正的程序要比这灵活得多。今天这篇文章,我们来学习Java中的程序逻辑控制——让代码能够做出判断、选择路径、重复执行。这是编程从"玩具"走向"工具"的关键

文章图片
#开发语言#java
1.双指针算法经典案例:LeetCode 283. 移动零(Java详解)

双指针算法经典案例:LeetCode 283. 移动零(Java详解)

文章图片
#算法#leetcode
1.从零开始的Java学习之路:数据库基础篇

本文系统介绍了数据库学习路径,重点讲解了MySQL数据库的基础知识。内容涵盖数据库本质、分类(关系型与非关系型)、MySQL安装配置、客户端使用(命令行与Navicat)、SQL语言特点等核心概念。文章特别强调了MySQL学习的三大重点:SQL编写、数据库原理和Java操作,并指出关系型数据库的相通性。同时提供了实用的学习建议,包括实习重要性、安装注意事项等,为初学者构建了清晰的数据库知识框架和学

文章图片
#java#学习#数据库 +1
    共 26 条
  • 1
  • 2
  • 3
  • 请选择