自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 【Excel】利用函数和Power Query进行数据分析

本文摘要介绍了Excel数据处理三大任务:1)图表美化(修改字体颜色、添加边框和条件格式);2)常用函数应用(LEFT/MID/LEN文本处理、VLOOKUP匹配、IF逻辑判断、YEAR/MONTH日期提取);3)Power Query数据导入与处理(从多种源导入数据、空值填充、自定义列、日期提取、拆分合并、连接查询等)。重点说明了Power Query的合并查询类型(内/左/右/全连接)和上载选项,为Excel数据分析和处理提供了实用指南。

2025-08-03 17:01:16 769

原创 【Leetcode】字符串(交替合并)

如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。请找出在 t 中被添加的字母。如果j没有超出 word2 的范围,就将 word2[j]加入答案,并且将j移动一个位置。解释:注意,word2 比 word1 长,“rs” 需要追加到合并后字符串的末尾。输入:word1 = “abcd”, word2 = "pq"输出:“apbqcd”解释:注意,word1 比 word2 长,“cd” 需要追加到合并后字符串的末尾。输入:word1 = “abc”, word2 = “pqr”

2025-08-01 10:11:17 222

原创 Excel 知识点汇总

本文摘要了Excel数据处理与分析的两大任务: 基础操作:包括数据聚合(SUM/AVG/MAX等函数)、筛选排序、字段含义理解,以及窗口管理、日期格式转换、数据验证等工具使用; 进阶功能:涵盖文本连接、区域引用、条件求和(SUMIF/SUMIFS)、引用方式(相对/绝对/混合)、环比计算、错误处理(IFERROR)、重复值删除、自动求和及单元格格式设置等技巧。文章通过实例说明函数语法和典型应用场景(如环比公式),帮助用户高效完成数据计算与可视化。

2025-07-31 18:18:47 590

原创 Java常考简答题

Java 的特点是什么?JDK、JRE 和 JVM 的区别?Java 的基本数据类型有哪些?== 和 equals() 的区别?final、finally 和 finalize 的区别?面向对象的三大特性是什么?抽象类和接口的区别?重载(Overload)和重写(Override)的区别?Java 创建对象的方式有哪些?ArrayList 和 LinkedList 的区别?HashMap 的工作原理?HashSet 如何保证元素不重复?Iterator 和 ListIterator 的区别?Java 异常体

2025-06-18 08:44:09 376

原创 【Java 常考题】大一期末 Java 常考题全面解析:助你轻松拿高分!

数据类型与变量:基本数据类型 (8种): , , , , , , , (考察范围、默认值)。* 引用数据类型: 类、接口、数组 (区别于基本类型)。* 变量声明与初始化: 语法规则、作用域 (, , , 默认)、局部变量必须初始化。* 常量: 关键字。* 自动类型转换与强制类型转换: 规则、可能的数据丢失 ( -> )、, 的使用场景。运算符:* 算术运算符: , , , , , , (区分 与 )。* 关系运算符: , , , , , (比较对象引用时

2025-06-14 22:13:50 1043

原创 NumPy 与 OpenCV 版本兼容性深度解析:底层机制与解决方案

在计算机视觉项目中,NumPy 和 OpenCV 的兼容性问题常被低估,实则暗藏复杂的技术陷阱。

2025-06-09 14:09:51 1208

原创 Flask音频处理:构建高效的Web音频应用指南

在当今多媒体丰富的互联网环境中,音频处理功能已成为许多Web应用的重要组成部分。无论是音乐分享平台、语音识别服务还是播客应用,都需要强大的音频处理能力。Python的Flask框架因其轻量级和灵活性,成为构建这类应用的理想选择。本文将带您了解如何使用Flask构建一个功能完善的音频处理Web应用,涵盖从基础上传播放到高级处理的全流程。

2025-06-06 05:10:04 732

原创 【Flask】:轻量级Python Web框架详解

Flask是一个用Python编写的轻量级Web应用框架。它被称为"微框架"(microframework),因为它核心简单但可扩展性强,不强制使用特定的项目结构或库。Flask由Armin Ronacher开发,基于Werkzeug WSGI工具包和Jinja2模板引擎构建。Flask以其简洁、灵活的特性成为Python Web开发的热门选择。它适合从小型项目到大型应用的开发,通过丰富的扩展可以满足各种需求。虽然学习Flask本身很简单,但要构建健壮的生产级应用,还需要掌握其生态系统和最佳实践。

2025-06-05 07:15:58 1183

原创 【前端】掌握HTML/CSS宽高调整:抓住问题根源,掌握黄金法则

首选- 避免padding/border影响布局计算移动端优先使用相对单位始终设置防止媒体元素溢出组合使用min/max-width 和弹性/网格布局行内元素(如<span>)需设为才能设置宽高。

2025-06-05 06:40:33 1258

原创 【Java实战】面向对象编程实践:银行账户与学生成绩管理 集合的应用综合练习

按数学/物理成绩之和从高到低的顺序输出所有学生信息,每个学生信息的输出格式:学号+英文空格+姓名+英文空格+数学/物理成绩之和。(5)一个withdraw()方法:带一个amount参数,表示从账户余额中提取amount指定的款额,并返回账户余额;输入多个学生的成绩信息,每个学生的成绩信息格式:学号+英文空格+姓名+英文空格+数学成绩+英文空格+物理成绩。依次输出初始账户余额、提取amount额度后的账户余额、存入amount后的账户余额。(3)一个带一个参数的构造方法,将账户余额初始化为输入的参数。

2025-06-03 10:10:59 1106

原创 【Java 进阶】深入探究JFrame,打造第一个窗口应用

JFrame是Java Swing GUI编程的基石,它是你应用程序的“骨架”和“皮肤”。掌握了JFrame的基本使用,你就迈出了Java桌面应用开发的第一步。提供了像素级的控制。JMenuBarJToolBar可以增强应用功能。JDialog用于弹出提示、确认等。通过重写JPanel的方法,你可以绘制图形、图像,甚至实现简单的游戏。改变应用程序的外观主题。

2025-05-30 08:21:09 1364

原创 【Java进阶】图像处理:从基础概念掌握实际操作

Java在图像处理方面提供了坚实的基础。通过和ImageIO,你可以轻松实现图像的读写、缩放、裁剪、像素级操作以及复杂的几何变换。这些内置功能足以应对许多常见的图像处理需求。当你遇到更复杂的任务时,例如需要高性能的计算机视觉算法、图像识别或深度学习在图像领域的应用,那么引入像OpenCV这样的专业库将是明智的选择。现在,你已经掌握了Java图像处理的核心知识。不妨亲自动手,编写一些代码,尝试为你自己的项目添加图像处理功能吧!

2025-05-30 08:11:09 1208

原创 【行动指南】大一如何高效备考java

Java 是软件工程专业的入门大门,一旦迈过去,你会发现它非常有趣且实用。希望这篇文章能帮到正在努力备考的你!祝我们都能顺利通过期末考试、打好编程基础!📌 你也可以在评论区留下你目前遇到的 Java 学习问题,我会挑一些集中解答。

2025-05-28 18:21:48 699

原创 【Java实战】编程中常见问题及解决方案:开发者必读指南

Java生态博大精深,遇到的问题也千变万化。掌握这些常见问题的解决方案,不仅能提高开发效率,还能培养出良好的编程思维。记住,优秀的Java开发者不是不犯错,而是能快速定位和解决问题。你在Java开发中还遇到过哪些"坑"?欢迎在评论区分享你的经验!如果你觉得这篇文章有帮助,请分享给更多的开发者。

2025-05-28 09:45:06 919

原创 【算法】多线程执行顺序控制(方法详解易懂版)5.27

有三个线程 A、B、C,分别调用。

2025-05-27 14:36:21 427

原创 【Java实战】集合排序方法与长度获取方法辨析(易懂版)

A:这是Java的历史设计决定。数组是语言基础结构用字段(length),集合是类库用方法(size())

2025-05-27 07:50:34 849

原创 【Java实战】集合核心框架全面解析(核心类及常用方法详解)

Java集合框架(Java Collections Framework)是Java中用于存储和操作数据集合的一组接口和类。它提供了高效的数据结构和算法,简化了开发者的工作。

2025-05-27 07:20:59 1142

原创 【Java实战】字符串全面指南:从基础到高级方法详解

字符串是Java编程中最常用的数据类型之一,Java提供了String类以及相关的工具类来处理字符串操作。本文将全面介绍Java字符串的核心知识点,包括基础概念、常用方法、性能考量和最佳实践。

2025-05-26 17:32:53 1353

原创 【算法】枚举右,维护左与滑动窗口对比理解(知识点详解提升思维)5.25

给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k。,例如两数之和 a[i]+a[j]=traget,可以枚举右边的 a[j],转换成。输入:nums = [1,2,3,1,2,3], k = 2。输入:nums = [1,2,3,1], k = 3。输入:nums = [1,0,1,1], k = 1。②循环遍历,如果集合中存在并满足条件,就返回true。滑动窗口(见往期详解)

2025-05-25 12:32:46 566

原创 【Java实战】滑动窗口(思维训练)+Map方法拓展(一行从理解到掌握)5.23

该算法通过滑动窗口高效找到中间连续 m 张卡牌的最小和,避免了暴力枚举所有可能的取法,大幅提升了效率。核心思想是利用问题的对称性,将“两端取数”转换为“中间取最小连续子数组”,是滑动窗口在数组问题中的典型应用。

2025-05-23 10:13:59 1186

原创 【Java实战】Map集合从概念到底层逻辑(面试必清)

接口是在外部定义排序规则,并且可以为同一个键类型定义多种不同的排序规则,这两种方法都能实现对。80名学生,选四个景点(A,B,C,D),每个学生只能选一个景点,统计出哪个景点想去的人最多。例如,如果两个相等的对象。isEmpty()判断集合是否为空,为空返回true,否则为flase。Set系列底层就是基于Map类型实现的,只是Set集合中只要键数据。说明: V对应一开始声明的键的类型 如果键不存在,返回null;会把map2集合中的元素都倒入map1,但map2中元素仍存在。中键必须唯一,值可以重复。

2025-05-22 17:35:12 1272

原创 【Leetcode】滑动定长(得到K个黑块的最小涂色色块)5.22

给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 ‘W’ 要么是 ‘B’ ,表示第 i 块的颜色。一种得到 7 个连续黑色块的方法是把第 0 ,3 和 4 个块涂成黑色。请你返回至少出现 一次 连续 k 个黑色块的 最少 操作次数。输入:blocks = “WBBWWBBWBW”, k = 7。输入:blocks = “WBWBBBW”, k = 2。每一次操作中,你可以选择一个白色块将它 涂成 黑色块。给你一个整数 k ,表示想要 连续 黑色块的数目。

2025-05-22 11:03:03 301

原创 【算法】滑动窗口(细节探究,易错解析)5.21

①continue的作用,如果不足k个元素,就不会执行下面的操作,保证满足数组k的长度。①ans代表平均数最大值,如果赋值为0,当数组为复数时,会返回0报错。请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。输入:nums = [1,12,-5,-6,50,3], k = 4。j<=nums.length-k或j-k+1<nums.length。②sum要重置,如果不重置,每次都会累加上一组循环的值。③sum-=nums[i-j+1]减去出去的元素。③j的循环要保证包括k边界,

2025-05-21 11:17:16 390

原创 【算法】定长滑动窗口5.20

​保证窗口完整性:确保只有当窗口包含完整的 k 个字符时,才进行「统计」和「滑动」操作。时间复杂度:O(n),遍历字符串一次,每个字符仅被处理两次(进入和离开窗口)。避免无效操作:在窗口填满前,无需处理左边界的移除,直接跳过相关代码,简化逻辑。当窗口尚未填满时,跳过「移除左边界字符」的操作。空间复杂度:O(1),仅使用常数额外空间。

2025-05-20 20:09:59 322

原创 【Java实战】线程池 并发 并行 生命周期(详细解释)

进程中的线程是由CPU负责调度执行的,到CPU能同时处理线程的数量有限,为了保证全部线程都能往前执行,CPU会为系统的每个线程服务,由于CPU切换的速度很快,给我们的感觉是这些线程在同时执行,这就是并发。新任务提交时核心线程都在忙,任务队列也满了,并且还可以创建临时线程,此时才会创建。使用**Executor(线程池工具类)**调用方法返回不同特点的线程池对象。:当线程数超过核心线程数时,多余的空闲线程在终止前等待新任务的最长时间。核心线程和临时线程都在忙,任务队列也满了,新的任务过来会拒绝新的任务。

2025-05-20 19:07:57 1252

原创 【Java实现】Thread/线程安全/线程同步(思维训练)

多个线程,同时操作同一个共享资源时,存在修改共享资源,可能会出现业务安全问题。

2025-05-20 14:41:56 767

原创 【Leetcode】丑数/数组排序/转置(思维提升)

解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输入:nums = [1,2,3,4,4,3,2,1], n = 4。示例 2:输入:matrix = [[1,2,3],[4,5,6]]输入:nums = [2,5,1,3,4,7], n = 3。输出:[[1,4,7],[2,5,8],[3,6,9]]输出:[[1,4],[2,5],[3,6]]

2025-05-19 09:07:03 436

原创 【Leetcode】取余/2的幂次方

给你一个整数 n,请你判断该整数是否是 2 的幂次方。给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。进阶:你可以不使用循环或者递归,在 O(1) 时间复杂度内解决这个问题吗?运算符,它对两个整数的二进制形式的每一位进行逻辑与运算。:-所有 2 的幂次方的数,其二进制形式都是。由于 2 是一位数,所以返回 2。2 的幂次方的二进制表示有一个。(2 的幂次方一定是正数)。:2的幂的二进制只有1个。

2025-05-18 15:40:39 619

原创 【Leetcode】ASCII转换成小写字母

给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。提示:1 <= s.length <= 100s。由 ASCII 字符集中的可打印字符组成。输入:s = “LOVELY”输入:s = “Hello”输入:s = “here”)会强制把第 5 位设为。会强制把第 5 位设为。输出:“lovely”输出:“hello”

2025-05-18 13:54:07 1200

原创 【数据结构】二分查找-LeftRightmost

Rightmost(<=target的最靠右索引位置)插入位置(>=target的最靠左索引位置)Rightmost(最右侧重复元素)Leftmost(最左侧重复元素)

2025-05-16 17:35:59 361

原创 【Java实战】多线程(创建线程的详细方法)

可以继承类和实现接口,扩展性强,可以在线程执行完毕后获取线程执行的结果。声明一个实现runnable接口的类,该类实现run方法,然后可以分配类的实例,然后启动。多线程是从软硬件是指从软硬件上实现的多条执行流程图技术(多条线程由CPU调度执行)。缺点:线程类已经继承Thread,无法继承其他类,不利于功能拓展。说明:start是线程对象独有的,需要把任务对象交给线程对象启动。声明为Thread的子类,此子类覆盖类Thread的run方法。优点:任务类是实现接口,可以继承其他类,实现其他接口,扩展性强。

2025-05-16 09:45:04 713

原创 【Java实战】IO流(转换流,打印流,数据流,序列化流)

如果是代码编码被读取的文本文件的编码是一致的,使用字符流读取文本文件时不会出现乱码;可调用System.setOut()改变,把系统默认的打印流对象换成自己的。可以把java对象进行反序列化,把存储在文件中的java对象读入到内存中来。解决思路:先获取文件的原始字节流,再将其按真实的字符集编码转成字符输入。解决思路:获取字节输出流,再按照指定的字符集编码转换成字符输出流。打印数据的功能上是一模一样的:都是使用方便,性能高效(核心优势)作用:解决不同编码时,字符流读取文本内容乱码的问题。

2025-05-15 21:35:55 532

原创 【Java实战】IO流(字符流,缓冲流详细内容)

作用:自带8K(8192)的字符缓冲流,可以提高字符输入流读取字符数据的性能。字节流适合做一切文件的拷贝(音视频,文本);字符输出流写出数据后,必须刷新流,或者关闭流,写出去的数据才能生效。windows:\r\n(写\r或\n都可以,Java会自动补全)作用:以内存为基准,可以把文件中的数据以字符形式读到内存中去。作用:以内存为基准,把内存中的数据以字符的形式写到文件中去。作用:自带8KB的字符缓冲池,可以提高字符输出流写字符。作用:对原始流进行包装,以提高原始流读写数据的性能。

2025-05-14 22:03:22 609

原创 【数据结构】二分查找(返回插入点)5.14

2)插入操作高效(使用 System.arraycopy 是本地方法,速度很快)查找时已经计算出了插入点,直接返回可以避免二次查找。3)利用了二分查找的高效性(O(log n))// 解码过程插入点 = -返回值 - 1。,这会和「找到目标且下标为0」的情况冲突。若目标在最右边,判断语句执行2*L次。若目标在最左边,判断语句执行L次。返回值 = -(插入点 + 1)目的:为了减少执行次数。1)保持数组始终有序。

2025-05-14 20:05:15 490

原创 【数据结构】二分查找(复杂度及练习)5.13

但这种方法在 i 和 j 很大时可能溢出(例如,i = 2^30, j = 2^30 + 100,i + j 会超出 int范围)。一个算法的执行,随数据规模增大,而增长的时间成本(不依赖于环境因素)1)空间复杂度:一个算法执行数据规模增大,而增长的额外空间成本。不会溢出,因为 j - i最多是 x(初始 j = x)。不允许使用任何内置指数函数和算符,例如。注意:j不会指向目标值,要改变i<=j。由于返回类型是整数,结果只保留。2.假设每行执行语句时间相同。

2025-05-13 19:19:41 523 1

原创 【Java实战】IO流(字节流,释放资源详细方法)

存储和读取数据的解决方案流:像水流一样传输数据用windows系统自带的记事本打开并且能读懂的文件text文本 md文件 xml文件 lrc文件等。

2025-05-13 09:25:21 1090

原创 【数据结构】二分查找5.12

(0+7)/2 3.5 //不需要设置float,可当成整数。i,j区间内会有未比较的元素,i<=j它们共同指向的元素也可以遍历到。设置m=floor(i+j/2),floor为向下取整的最小整数。前提:给定一个内含n个元素的有序数组A(升序),一个待查找值。如果target>m,设置i=m+1;如果traget<m,设置j=m-1;m=(i+j)/2;如果traget=m,找到待查找值。为什么是i<=j,而不是i<j?(i+j)/2有没有问题?如果j>i,查找停止。

2025-05-12 15:26:24 335

原创 【Java实战】综合例题练习,大一学生思路漏洞辨析

例如,当删除索引 i 处的元素后,原本索引 i + 1 处的元素会移动到索引 i 位置。剩下的人,又从新按位置1开始,再次干掉全部奇数位置处的人,依此类推,直到最后剩下一个人为止,剩下的这个人为幸存者。然而,由于内部 for 循环中删除元素的逻辑错误,每次删除操作没有正确处理索引变化,导致循环可能无法正确减少列表中的元素数量。• 有如下字符串,里面包含多个用户信息数据,现在需要你解析这个字符串,获取里面的用户数据,并封装到User对象中。• 遍历上面获取的List 集合,统计里面每个名字出现的次数。

2025-05-12 09:27:48 630

原创 【Java实战】文件应用最细解析

本文介绍了三个Java编程需求及其实现方法。首先,通过递归遍历文件夹,找到所有后缀为.avi的文件,并处理了文件夹为空或无法访问的情况。其次,展示了如何删除一个多级文件夹,包括先删除文件夹内的所有内容再删除文件夹本身。最后,讲解了如何计算文件夹内所有文件的总大小,并强调了在递归调用时防止数据丢失的注意事项。这些方法均通过Java代码实现,并提供了详细的步骤和说明。

2025-05-09 18:58:24 682

原创 【算法技巧】字符数字转换为数值的详细解释

'0'是一种常见的将字符数字转换为对应数值的技巧,让我详细解释它的工作原理和为什么这样用。

2025-05-08 19:28:52 530

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除