自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 河小贰(注册,登录)

本文档详细介绍了用户注册和登录接口的设计规范。注册接口要求用户名4-20位,密码6-20位且包含数字字母,确认密码需一致,11位手机号;登录接口需用户名密码。前端ArkTS提供了表单验证规则,后端Java实体类使用注解验证。接口响应包含状态码、消息和数据,成功注册返回用户信息,登录返回token和用户数据。文档还列出了错误码说明和token存储要求,为系统认证模块开发提供了完整的技术规范。

2025-09-16 12:13:26 278 1

原创 LeetCode每日一题8-20

摘要: 最近的人问题:给定数轴上三个人的位置x、y、z,判断x和y谁先到达静止的z。通过比较距离差决定返回1、2或0。 无零整数和问题:将整数n拆分为两个不含0的数字之和。提供了三种解法: 暴力枚举:逐个检查可能的组合 随机枚举:随机选择候选数 构造法:按数字位拆分,处理特殊情况(如400) 代码实现展示了每种解法的具体处理逻辑,包含C++的完整类实现。

2025-09-08 22:48:45 344

原创 LeetCode每日一题8-18

本文探讨了如何判断一个整数能否表示为不同三的幂之和的问题。给出了三种解法:第一种解法错误地允许重复使用相同的幂(如9+9+3);第二种正确解法将数字转换为三进制,通过检查各位是否都不为2来判断;第三种是通用解法,可推广到任意进制。核心思路是:当数字的三进制表示不含数字2时,可以表示为不同三的幂之和。正确解法的时间复杂度为O(log₃n),通过逐步除以3并检查余数来实现。

2025-09-07 21:13:49 276

原创 LeetCode每日一题8-16

本文包含两道编程题解:1.「找到最近的人」通过计算x和y到z的距离,比较二者大小返回先到者(1或2)或同时到达(0)。2.「3的幂」通过循环除以3判断整数是否为3的幂次方,注意处理边界条件(n≤0和n=1的情况)。两题均采用简单直接的解法,时间复杂度分别为O(1)和O(logn)。

2025-09-06 22:39:37 220

原创 LeetCode每日一题8-15

摘要:题目要求通过最少的操作使num1变为0,每次操作可减去2^i+num2(i∈[0,60])。解法核心是检查(num1-n*num2)能否表示为n个2的幂之和。关键步骤:1)计算num=num1-num2;2)遍历可能的操作次数i,检查num的二进制中1的个数是否≤i≤num(通过popcount函数实现)。若满足条件则返回i,否则返回-1。时间复杂度取决于遍历次数,空间复杂度为O(1)。该解法利用二进制特性高效判断可行性。

2025-09-05 08:11:31 295

原创 LeetCode每日一题 8-14

【摘要】该算法计算二维平面点对(A,B)的数量,要求A在B的左上角且两点形成的矩形区域内无其他点。首先对点按x升序、x相同则y降序排序。双重循环遍历每个点对,外层选择A点,内层选择B点,检查A是否在B左上角。然后检查两点间是否存在中间点,若没有则计数。时间复杂度O(n³),空间复杂度O(1)。最终返回符合条件的点对总数。

2025-09-04 10:12:56 300

原创 LeetCode每日一题8-13

文章摘要:题目要求在给定班级通过率数据的情况下,如何分配额外一定通过考试的学生,使得所有班级的平均通过率最大化。解题关键在于每次选择能带来最大通过率提升的班级进行分配。两种解法都使用优先队列(最大堆)实现:方法一通过自定义结构体和运算符重载精确比较提升量;方法二直接计算浮点数提升量,代码更简洁。两种方法均通过贪心算法,在O(n + k log n)时间内解决问题,其中n为班级数,k为额外学生数。最终结果只需保证与标准答案误差在10^-5内即视为正确。

2025-09-02 00:19:57 747

原创 LeetCode每日一题8-12

这篇文章介绍了一个动态规划解法,用于计算将整数n表示为互不相同正整数的x次幂之和的方案数。该问题被转化为0-1背包问题,其中每个物品是i^x的幂值。文章详细解释了算法思路:通过倒序遍历保证每个幂值只使用一次,状态转移方程f[s]+=f[s-v]累计方案数。示例展示了n=10,x=2时的计算过程,最终方案数对1e9+7取模。该方法有效解决了特定条件下的整数分解问题。

2025-09-01 08:44:04 623

原创 LeedCode每日一题8-10

该题目要求判断给定整数n的数字能否重新排列为2的幂。给出两种解法: 数字频率法:预处理所有2的幂的数字频率分布存入哈希集。对于n,统计其数字频率并与哈希集比对,时间复杂度O(1)。 回溯法:通过DFS生成所有可能的数字排列,检查是否存在2的幂的排列。通过剪枝(前导零、重复数字)优化效率,最坏时间复杂度O(m!)。 第一种方法空间换时间更高效,第二种方法适合小规模输入。核心在于验证数字重组后的排列是否满足2的幂的数学特性。

2025-08-10 22:01:27 265

原创 LeetCode每日一题8-9

摘要:判断整数n是否为2的幂次方。解法一:常规循环判断能否被2整除;解法二(最优):利用位运算特性,当n>0且n&(n-1)=0时成立;解法三:检查n是否为最大2的幂数(2^30)的约数。三种方法均需考虑n≤0的特殊情况,其中位运算解法效率最高。时间复杂度分别为O(logn)、O(1)、O(1)。

2025-08-09 20:50:14 325

原创 LeetCode每日一题8-8

摘要: 题目808"分汤"要求计算汤A先耗尽的概率。通过将汤量转换为25毫升的整数份(k=⌈n/25⌉),简化操作量(4,3,2,1份)。利用动态规划,定义dp[i][j]为剩余i份A、j份B时的目标概率(A先耗尽概率+同时耗尽概率的一半)。边界条件:当k≥179时概率趋近1.0;i≤0且j>0时概率1.0;i,j≤0时0.5。递推公式为四种操作概率的平均值(max处理负份数)。最终返回dp[k][k],时间复杂度O(k²)。

2025-08-08 20:32:29 441

原创 LeetCode每日一题8-7

【摘要】本文探讨了如何计算使字符串成为K特殊字符串所需删除的最少字符数。通过统计字符频率,提出了一种枚举基准频率的解法:对于每个字符频率a,计算其他字符频率与a的差值超出k范围时需要删除的字符数,最终取最小值。该方法利用字符种类有限的特性(最多26种),时间复杂度为O(26^2)。示例代码展示了如何实现这一思路,通过哈希表统计频率后双重枚举比较,得出最优解。

2025-08-07 18:44:11 247

原创 LeetCode每日一题8-6

昨天做了两道,一个简单,一个中等,今天就做两个简单吧。

2025-08-06 22:00:09 194

原创 LeetCode每日一题8-5

本文探讨了"水果成篮"系列算法题的多种解法。作者首先尝试暴力解法(O(n²)),随后采用分块优化方法(类似散列思想),通过预处理块最大值并动态更新块信息,将时间复杂度优化至O(n√n)。最后提出基于线段树的解法(O(nlogn)),通过构建线段树并实现查询与更新同步操作,显著提高了效率。文章详细记录了每种方法的优化思路、实现细节和踩坑经验,包括分块更新策略的多次迭代改进,以及线段树实现中的封装技巧和边界处理。最终方案通过合并查询和更新操作,结合精确的线段树大小计算,实现了最优解。

2025-08-05 21:39:31 1519

原创 LeetCode每日一题8-4

本文讨论如何解决"水果成篮"问题,即在最多选择两种水果类型的限制下,找到可以连续采集的最大水果数量。作者首先尝试了暴力解法,但因其时间复杂度高而超时。随后优化为滑动窗口算法,使用哈希表记录窗口内水果类型及其出现次数。当窗口内水果类型超过两种时,移动左边界缩小窗口,直到满足条件。该算法时间复杂度为O(n),空间复杂度O(1)。关键点在于维护一个最多包含两种水果类型的滑动窗口,并在遍历过程中动态调整窗口边界,同时更新最大窗口大小。

2025-08-04 23:47:05 301

原创 LeetCode第162场双周赛

本文介绍了三个算法问题的解法。Q1要求计算游客完成陆地和水上游乐设施的最早时间,通过双重循环比较所有可能的组合顺序。Q2要求使数组平衡的最小移除数,采用双指针滑动窗口方法,先排序后遍历寻找满足条件的最大子数组。Q3是Q1的优化版本,通过预处理和二分查找降低时间复杂度,避免双重循环导致的超时问题。三个问题分别展示了组合遍历、双指针优化和预处理+二分查找等典型算法技巧的应用场景。

2025-08-04 19:59:15 1064

原创 算法课程学习笔记

在已经能够轻松解决简单的算法题,半部分中等算法题也能够解决的情况下,准备做一些较难水平的算法题,但是发现知识欠缺,所以需要再学习一些与之相应的算法知识。

2025-07-14 07:40:25 945

原创 期末Web大作业——网页制作

提供完整网页源码(HTML/CSS/JS)及素材文件,可直接用于作业提交

2025-06-16 10:25:17 278

原创 web期末网页设计大作业

全部内容都在代码中,图片等不用自行查找,直接用!设计了方块的悬浮飘动效果。

2025-06-04 13:47:09 1087 2

原创 CSS学习笔记

CSS(Cascading Style Sheets),中文名为级联样式表,也有称为层叠样式表,层叠就是样式可以层层叠加,可以对一个元素多次设置样式,后面定义的样式会对前面定义的样式进行重写。CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

2025-05-04 09:33:56 1225

原创 C和C++(list)的链表初步

 链表是构建其他复杂数据结构的基础,如栈、队列、图和哈希表等。通过对链表进行适当的扩展和修改,可以实现这些数据结构的功能。想学算法,数据结构,不会链表是万万不行的。这篇笔记是一名小白在学习时整理的。

2025-04-05 09:51:57 1351

原创 HTML5学习成果(仅HTML部分)

在学习完Web前端开发的HTML5部分后,综合所学知识制作 招聘信息注册页面。

2025-03-19 09:20:15 1828

原创 HTML学习笔记(全)

HTML5学习笔记

2025-03-05 10:52:42 861

原创 C++算法(入门、简单)例题(F2)

继续学习算法,以下的每一道题的第一种解法都是我自己写的;第二种是查看题解后挑选出的自认为优秀的解法。

2025-02-23 09:25:04 977

原创 几道小白的算法入门题

《白菜头的算法入门学习笔记》:个人学习笔记,无其他目的。倘若高手看到了,希望给予些许指导。

2025-02-17 20:56:17 1012

原创 简单算法入门 C++

击石乃有火,不击元无烟。人学始知道,不学非自然。万事须己运,他得非我贤。青春须早为,岂能长少年。

2025-02-12 14:19:00 796

原创 Harmonyos_ArkTS语法入门(第三篇)

定义:接口是一种抽象的类型定义,它主要用于描述对象的结构,规定了对象必须具备哪些属性和方法,但并不包含这些属性和方法的具体实现。用途:接口通常用于定义代码的契约,让不同的对象遵循相同的规范,提高代码的可维护性和可扩展性。比如在一个应用中,多个不同的组件可能需要实现相同的交互逻辑,就可以通过接口来统一规范// 定义一个接口不能实例化:抽象类不能直接创建实例,只能通过子类来创建。包含抽象方法:抽象类可以包含抽象方法,这些方法必须在子类中实现。提供公共实现。

2025-02-11 09:57:04 1147

原创 HarmonyOS_ArkTS语法入门(第二篇)

白菜头:请问官方文档《 HarmonyOS_ArkTS语法介绍》,像我这样的小白能看懂你吗?排版也无语啊。玩抽象!?气愤!这是一个 人傻手慢脑笨 的菜鸡的学习笔记。帮助一下像我一样的白菜 \(^o^)/~ 不信有人看了还不懂!

2025-02-07 17:09:46 760 1

原创 HarmonyOS_ArkTS语法入门

ArkTS旨在保持TypeScript的大部分语法,为现有的TypeScript开发者实现无缝过渡,让移动开发者快速上手ArlTS。由于HarmonyOS的迅速发展,在我刚学懂了一点C和C++语言的情况下,接下来先初步学学这个。

2025-02-05 16:12:42 963

原创 【DevEco Studio创建的第一个应用】(极简)

第一个DevEco Studio应用。

2025-01-25 14:27:52 452

原创 自制假钢琴块游戏(Easyx)

【代码】假钢琴块(Easyx)

2025-01-16 18:29:46 308 1

原创 数组和指针

形参指函数定义时列出的参数 // 函数内部使用的变量,在函数调用时会被赋予实参的值实参是指函数调用时传递给函数的实际值 // 被用来初始化函数内部的形参形参实参都用数组名int i=0;='\0')i++;to[i]='\0';return 0;形参用指针变量,实参用数组名int main()",b[20];return 0;形参实参都用指针变量for(;*from;*to='\0';int main()//见本节开头。

2024-12-26 01:38:45 571

原创 * 和 &的使用(指针初步)

char *c;int,float,char是指针变量指定的“基类型”,其确定指针变量可指向的变量类型。

2024-12-21 16:11:15 436 1

原创 C语言大一期末考试必备15题

编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2 替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏 幕上。已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数 组a中,插入后,数组a中的元素仍然由小到大顺序排列。下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的 数据随机输入,新数组以4行4列的方式输出。主要涉及知识点:字符数组的输入输出,及相应的处理。

2024-12-14 09:16:52 4462 3

原创 C语言程序设计基础(例题(请看注释)03

已知直线L的方程是 Ax+By+C=0 ,点P的坐标是(x,y) ,求点P到直线L的距离。点到直线的距离公式为:要求先输入A,B,C三个参数,确定直线L;然后再输入x和y,确定点P;最后根据点到直线的距离公式,计算点到直线的距离。

2024-12-04 19:24:15 628 2

原创 C语言程序设计基础(例题(请看注释))02

教材典型例题精做讲解,持续加载更新中

2024-12-02 22:58:55 410 4

原创 C语言程序设计基础(例题)

一,基础篇案例1—1《点到直线的距离》 已知直线L的方程是 Ax+By+C=0 ,点P的坐标是(x,y) ,求点P到直线L的距离。点到直线的距离公式为:要求先输入A,B,C三个参数,确定直线L;然后再输入x和y,确定点P;最后根据点到直线的距离公式,计算点到直线的距离。#include<stdio.h>#include<math.h>int main() { double A, B, C;//直线的参数 double x, y;//点坐标 dou

2024-11-30 17:32:03 591 5

期末Web大作业-网页制作

Web图片

2025-06-16

期末Web大作业-网页制作

Web图片

2025-06-16

期末Web大作业-网页制作

Web图片

2025-06-16

期末Web大作业-网页制作

Web图片

2025-06-16

期末Web大作业-网页制作

Web图片

2025-06-16

空空如也

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

TA关注的人

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