自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用100道题拿下你的算法面试(数组篇-11):大数的阶乘

摘要:本文探讨了大数阶乘的计算方法,针对传统方法无法处理大数的问题,提出了三种解决方案:(1)使用数组存储逐位计算结果,通过逐位乘法和进位处理实现;(2)利用BigInteger类直接计算;(3)采用链表结构存储数据,动态扩展存储空间。文中详细阐述了每种方法的算法原理,并用C++、Java、Python、C#和JavaScript五种语言实现。重点剖析了数组法的核心逻辑,包括初始化、逐位乘法和进位处理流程。测试案例以100的阶乘(158位数字)为例,展示了各种方法的具体实现和输出结果,同时分析了时间复杂度(

2025-06-26 20:44:04 967 1

原创 Vue.js 与 TypeScript:最佳实践

本文介绍了在Vue.js中集成TypeScript的最佳实践,内容包括项目搭建、组件开发、类型管理与性能优化。首先讲解了如何使用Vue CLI创建TypeScript项目,然后通过示例展示了如何编写类型安全的Vue组件,包括接口定义props、类组件和使用生命周期钩子。文章还提供了两个实用案例:待办事项应用和API数据获取,并建议使用Composition API提升性能,强调类型校验对安全性的重要性。最后总结了关键要点,推荐进一步学习Vue3新特性和TypeScript高级功能,为构建健壮可维护的Vue应

2025-06-25 11:52:20 1090

原创 15.8 【TS中级项目】像素艺术制作器

摘要:本文介绍了一个基于TypeScript的像素画制作器Web应用开发方案。项目采用DOM操作实现核心功能,包含HTML/CSS布局和TypeScript交互逻辑。系统提供20×20的可调网格(默认值),支持鼠标点击/拖拽绘制、颜色选择(默认橙色)、网格重置和尺寸调整功能。关键技术包括CSS变量(--sz)动态控制网格尺寸,事件监听实现绘制交互,以及完整的组件联动机制。所有代码已整合为可直接运行的HTML文件,无需额外编译步骤。

2025-06-25 11:00:34 360

原创 用100道题拿下你的算法面试(数组篇-10):盛最多水的容器

摘要:本文探讨了求解容器最大盛水量的两种算法。给定一个非负整数数组表示垂直线高度,要求找出任意两线与x轴形成的容器能容纳的最大水量。朴素方法通过双重循环枚举所有线对,计算每对容器的面积(min(高度)*宽度),时间复杂度O(n²)。更优的双指针法维护左右指针,每次移动较短边的指针,时间复杂度优化至O(n)。两种方法在C++、Java、Python等6种语言中的实现均给出示例代码,对于输入[2,1,8,6,4,6,5,5],正确输出最大水量25。双指针法显著提高效率,适合处理大规模数据。

2025-06-25 10:33:17 967

原创 用100道题拿下你的算法面试(数组篇-09):3 Sum 问题——查找所有和为零的三元组

本文介绍了寻找数组中所有和为0的三元组下标(i<j<k)的两种解法。朴素方法采用三重循环枚举所有可能的三元组,时间复杂度O(n³),空间复杂度O(1)。更优算法使用哈希表存储元素索引,通过两层循环查找满足条件的第三元素,平均时间复杂度优于朴素方法,但最坏情况仍为O(n³),空间复杂度O(n)。两种方法在示例输入arr={0,-1,2,-3,1}中均输出{{0,1,4},{2,3,4}}。文章提供了6种语言的朴素方法实现和5种语言的哈希表实现代码。

2025-06-24 16:57:26 369

原创 用100道题拿下你的算法面试(数组篇-08):在旋转排序数组中查找

本文探讨了在旋转排序数组中查找目标元素的算法问题。首先介绍了朴素线性搜索法(O(n)时间复杂度),并用6种编程语言实现。然后提出两种优化方法:1)两次二分查找法(先找旋转点再二分,O(logn));2)单次二分查找法(通过判断有序区间直接搜索,O(logn))。两种优化方法均用6种语言详细实现,其中单次二分法更为高效,只需一次遍历即可确定目标位置。所有算法空间复杂度均为O(1),适用于处理大规模旋转排序数组的搜索问题。

2025-06-23 19:42:16 770

原创 14. TypeScript 测试

摘要:本文详细介绍了使用Jest框架进行TypeScript单元测试的方法,包括环境配置、测试流程和异步测试示例。同时对比了Jest与Mocha测试框架的特性差异,指出Jest适合快速搭建的React项目,而Mocha更适合需要定制化的复杂项目。文章还深入讲解了Mocking技术在单元测试中的应用,包括测试替身类型(Mock、Stub、Fake、Spy)及其选择策略,强调Mocking能有效隔离外部依赖,提高测试可靠性和执行效率。最后总结了Mocking的最佳实践,建议合理使用测试替身来构建高质量的测试体系

2025-06-23 12:23:42 898

原创 13. TypeScript 模块

TypeScript的模块系统提供代码封装与复用方案,分为内部模块(现为命名空间)和外部模块。外部模块通过export/import实现功能拆分,避免命名冲突,提升维护性。最佳实践推荐使用ES模块语法,配合barrel文件简化导入路径。模块增强特性允许在不修改源码情况下扩展第三方库功能,通过declare module语法实现。典型案例展示了如何将公共类独立封装后复用,解决了重复定义问题,同时指出模块顶层代码的执行特性。模块化开发有效应对大型应用的性能、调试和维护挑战。

2025-06-22 16:47:28 1101

原创 12. TypeScript 高级类型

TypeScript提供了多种高级类型工具,包括映射类型、条件类型、字面量类型和递归类型等。映射类型通过转换现有类型属性创建新类型,支持可选、只读和类型变更等操作。条件类型根据条件动态生成类型,增强代码灵活性。字面量类型限定变量为特定值,提高类型安全性。递归类型支持自引用,适合处理树形结构等复杂数据。这些特性共同增强了TypeScript的类型系统,使开发者能够构建更安全、灵活和可维护的代码。

2025-06-22 09:49:19 1340

原创 用100道题拿下你的算法面试(数组篇-07):在旋转排序数组中寻找最小值

本文探讨了在旋转后的有序数组中寻找最小元素的两种方法。线性查找方法遍历整个数组,时间复杂度为O(n);更高效的二分查找方法通过比较中间元素与端点值,将时间复杂度优化到O(logn)。文章提供了两种算法的详细实现,涵盖C++、C、Java、Python、C#和JavaScript六种编程语言。对于示例数组[5,6,1,2,3,4],两种方法均能正确输出最小值1。二分查找法凭借其对数级时间复杂度,成为处理大规模数据的首选方案。

2025-06-21 16:42:01 519

原创 1-3 Dart 注释详解:单行、多行与文档注释全掌握

Dart编程中的注释技巧全面解析:Dart支持三种注释方式,分别是1️⃣单行注释(//)用于简短说明,2️⃣多行注释(/.../)适用于代码块解释,3️⃣文档注释(///或/**...*/)用于生成API文档。良好注释习惯能提升代码可读性、调试效率和团队协作,建议为公开API添加详细文档注释。本文通过实例演示各类注释用法,并强调保持注释与代码同步的重要性,帮助开发者编写更易维护的Dart代码。

2025-06-21 16:06:54 461

原创 用100道题拿下你的算法面试(数组篇-06):最大乘积子数组

本文探讨了寻找数组中连续子数组最大乘积的问题,提供了三种解法: 朴素解法(O(n²)时间复杂度):使用双重循环遍历所有子数组并计算乘积,记录最大值。适合小规模数据但效率较低。 动态规划解法(O(n)时间复杂度):维护当前最小和最大乘积变量,处理负数和零的特殊情况,在单次遍历中得出结果。 双向遍历解法(O(n)时间复杂度):分别从左到右和从右到左遍历数组,处理奇数个负数的情况,确保不遗漏任何可能的最大乘积子数组。 所有解法在示例输入[-2,6,-3,-10,0,2]上都输出正确结果180。后两种O(n)解法更

2025-06-21 14:49:43 1059

原创 11. TypeScript 工具类型

TypeScript内置的工具类型(Utility Types)提供了一种高效的方式来变换和操作现有类型。常见工具类型包括:Partial将属性设为可选,Required设为必填,Readonly设为只读;Pick选择特定属性,Record创建键值对象类型;Exclude从联合类型中移除部分元素。这些工具类型能提升代码复用性、可读性和维护性,适用于表单处理、API数据转换等场景。合理组合使用这些工具类型,可使类型定义更精简高效,是TS开发的重要技能。

2025-06-20 19:18:34 850

原创 10. TypeScript 装饰器

TypeScript 中的类装饰器是一项强大的功能,允许你以简洁、声明式的方式扩展和修改类。它们使你能够在不改变原始类定义的情况下,添加方法、属性或跟踪实例。这使得代码更加模块化、可复用且更易于维护。无论是添加日志功能、收集实例,还是为类增强新功能,类装饰器都能帮助你编写更高效、更有效的 TypeScript 代码。

2025-06-20 19:08:38 853

原创 用100道题拿下你的算法面试(数组篇-05):最大子数组和 - 卡丹算法

摘要:本文介绍了求解最大子数组和的两种方法。朴素解法通过双重循环遍历所有子数组,时间复杂度O(n²),空间复杂度O(1)。更优的卡丹算法(Kadane's Algorithm)采用动态规划思想,只需单次遍历数组,时间复杂度O(n),空间复杂度O(1)。其核心思路是:对于每个元素,选择将其加入前一个最大子数组或单独开始新子数组。文章提供了两种算法在C++、C、Java、Python、C#和JavaScript中的实现代码,并验证了示例输入的正确输出。卡丹算法显著提升了效率,是解决该问题的标准优化方案。

2025-06-19 17:39:12 405

原创 9. TypeScript 泛型

TypeScript泛型提供了灵活的类型安全机制,允许创建可重用组件。文章介绍了泛型的基本概念、语法及应用场景:1. 泛型函数能处理多种数据类型;2. 泛型约束通过extends限制类型范围;3. 泛型接口支持单类型和多类型参数;4. 类泛型使实例创建更灵活;5. 泛型对象类型处理不同数据结构。通过示例展示了数组反转、接口实现、工厂函数等常见用法,强调泛型在提高代码复用性和类型安全性方面的重要作用。

2025-06-18 22:09:25 890

原创 用100道题拿下你的算法面试(数组篇-04):除了自身以外数组的乘积

摘要:本文介绍了三种计算数组中除当前元素外所有元素乘积的方法。朴素方法使用嵌套循环,时间复杂度O(n²),空间复杂度O(1);优化方法利用前缀和后缀乘积数组,将复杂度降至O(n)时间、O(n)空间;最高效方法通过统计零元素情况,在O(n)时间和O(1)空间内解决问题。文中给出了C++、Java、Python等语言的实现示例,并分析了各算法的复杂度。对于输入[10,3,5,6,2],三种方法都能正确输出[180,600,360,300,900]。

2025-06-17 18:07:23 532

原创 鸿蒙案例实战——添加水印

本文介绍了在HarmonyOS应用开发中实现水印添加功能的多种方法。主要包含四种水印添加场景:1)使用Stack布局或Overlay属性为页面添加Canvas绘制的水印;2)为保存图片添加水印,通过获取PixelMap数据并绘制水印后保存;3)拍照后对照片添加水印,处理相机返回的图片文件;4)为PDF文件添加文字水印并保存。关键技术点包括Canvas绘图、Stack层叠布局、PixelMap图像处理、PDF服务调用等,采用MVVM架构和ArkTS语言实现。案例提供了完整的组件封装和工具类,涵盖了从UI展示到

2025-06-17 10:30:32 950

原创 15.7【TS中级项目】打字速度监测器

摘要:本文介绍了一个打字速度测试Web应用的开发过程,通过测量用户输入随机文本段落的时间和准确率来计算每分钟打字字数(WPM)。应用包含HTML/CSS界面和TypeScript逻辑,主要功能有:显示测试文本的文本框、计时器、WPM计算器和开始按钮。核心算法通过监听用户输入事件,比较输入文本与原文的匹配度,并实时计算打字速度。该工具特别适合程序员测试编码效率,其简洁的设计和即时反馈机制为用户提供了便捷的打字能力评估方式。

2025-06-16 18:04:20 490

原创 统一扫码服务

摘要 HarmonyOS ScanKit(统一扫码服务)提供系统级扫码解决方案,支持"扫码直达"、码图识别与生成功能。案例展示了如何通过API实现: 扫码直达:只需注册域名即可通过系统入口快速跳转应用 码图生成:支持自定义格式的条形码/二维码,可设置颜色、边距等参数 默认界面扫码:调用系统预设界面,支持单/多码识别 自定义扫码:完全自定义UI界面,提供相机流控制和闪光灯管理 图像识码:从相册识别图片中的条形码/二维码 案例采用ArkTS开发,使用MVVM模式,包含权限申请、日志管理、资源

2025-06-16 17:48:08 1099

原创 用100道题拿下你的算法面试(数组篇-03):查找重复元素

文章摘要:本文介绍了两种在数组中查找重复元素的方法。第一种使用哈希表,通过统计元素频率来识别重复项,适用于元素范围不确定的情况。第二种利用辅助数组,当元素范围在0到n-1时,通过频率统计高效找出重复元素。两种方法都实现了O(n)的时间和空间复杂度。文章提供了C++、Java、Python、C#和JavaScript五种语言的实现代码,并展示了示例输入[1,6,5,2,3,3,2]对应的正确输出[2,3]。两种方法都能正确处理无重复元素的情况(返回-1)。

2025-06-15 09:17:05 456 1

原创 基于CameraKit通过AVRecorder录像

本示例通过CameraKit自定义相机,并通过AVRecorder进行录像。帮助开发者在自定义相机的场景开发中,实现使用AVRecorder录像的功能。

2025-06-15 07:25:51 1169

原创 8. TypeScript 类

TypeScript类提供了面向对象编程的核心特性,包括封装、继承和多态。通过访问修饰符(public/private/protected)控制成员可见性,抽象类强制子类实现特定方法,构造函数参数类型检查确保对象初始化的安全性。继承机制允许代码复用和方法重写,其中super关键字可调用父类方法。类可以建模现实实体,如银行账户、几何图形等,通过定义属性和方法实现业务逻辑。TypeScript的类型系统增强了类的安全性,使其成为构建复杂应用的理想选择。

2025-06-14 19:02:33 854

原创 实现文件管理案例实战

当用户需要保存图片、视频等用户文件到图库时,无需在应用中申请相册管理模块权限'ohos.permission.WRITE_IMAGEVIDEO',应用可以通过安全控件或授权弹窗的方式,将用户指定的媒体资源保存到图库中。Core File Kit(文件基础服务)为开发者提供统一的文件访问和管理能力,涵盖应用文件和用户文件,帮助用户高效地查找、管理、备份各类文件,满足多样化的文件操作需求。注意:使用基础文件操作接口时,耗时较长的操作,例如:read、write等,建议使用异步接口,避免应用崩溃。

2025-06-14 12:11:22 716

原创 7. TypeScript接口

TypeScript接口(Interfaces)是定义对象结构的强大工具,用于确保代码的一致性和可维护性。接口通过强制对象遵循特定属性结构和方法签名来实现类型检查,编译时会被移除。与type相比,接口更专注于对象形状描述,支持多重声明合并,适合类实现。最佳实践包括:定义复杂对象结构、使用可选属性、接口继承和函数签名定义。类可通过implements关键字实现单个或多个接口。高级应用包括创建带条件类型的接口(使用extends、映射类型和联合类型)以及混合类型(结合对象、函数等特性)。这些特性使TypeScr

2025-06-13 20:19:16 1538 1

原创 使用关系型数据库实现目标管理

本文介绍了一个基于关系型数据库的运动计划管理应用实现案例。案例中使用了SQLite关系型数据库,构建了运动表和计划表两张数据表,通过封装的RDBStoreUtil工具类实现了增删改查等基本操作。文章详细展示了数据库创建、表结构设计、SQL语句封装、数据操作接口实现等关键代码,并说明了如何将数据库操作与ArkUI界面组件结合,实现计划列表展示、条件筛选、新增编辑等功能。同时,文章还介绍了关系型数据库的基本概念、运作机制、开发约束以及常用接口使用方法,包括数据库版本管理、数据备份恢复等高级特性。该案例为开发者提

2025-06-13 11:17:00 1114

原创 使用用户首选项实现应用内字体大小调节

本文介绍了基于HarmonyOS ArkUI框架实现的"我的"页面字体大小调节功能。通过Slider滑动组件获取用户设置值,使用Preferences持久化存储字体偏移量,AppStorageV2实现全局状态管理。主要技术点包括:1)Slider组件实时调节字体大小;2)Preferences持久化存储用户设置;3)AppStorageV2同步全局UI状态;4)CustomDialog自定义弹窗交互。该方案适用于用户个性化设置场景,具有轻量级、实时响应等特性,但需注意Preference

2025-06-12 18:10:47 833

原创 用100道题拿下你的算法面试(数组篇-02):买卖股票的最佳时机

本文介绍了股票买卖问题的两种解法:朴素解法和优化解法。给定一个股票价格数组,要求在最多一次交易(买入后卖出)中获取最大利润。朴素解法使用双重循环遍历所有买卖组合,时间复杂度为O(n²)。优化解法通过维护最低买入价和最大利润变量,在单次遍历中解决问题,时间复杂度降至O(n)。两种方法的空间复杂度均为O(1)。文中提供了C++、C、Java、Python、C#和JavaScript的代码实现,并以示例数组{7,10,1,3,6,9,2}说明两种解法均能正确输出最大利润8。

2025-06-12 07:28:24 235

原创 6. TypeScript 函数

TypeScript函数专题:构建类型安全的可重用代码 本文详细介绍了TypeScript中增强JavaScript函数的多种方式。主要内容包括:1. 基础函数语法与类型注解(参数和返回值类型);2. 剩余参数(...rest)的灵活应用;3. 函数重载实现多签名处理;4. 箭头函数的简洁语法与this绑定特性;5. 匿名函数的类型定义与使用场景。这些特性共同提升了代码的类型安全性、可读性和可维护性,同时通过示例演示了如何正确处理不同参数类型和数量,实现更健壮的代码逻辑。特别强调了剩余参数必须末尾定义、函数

2025-06-11 15:05:36 1022 2

原创 实现转场动画

本文介绍了多种转场动效的实现方法,包括:1. 页面间转场:使用Navigation组件实现默认/自定义导航转场,通过geometryTransition属性实现共享元素转场;2. 组件内转场:结合transition属性和animateTo方法实现组件添加/移除时的过渡效果;3. 模态转场:通过bindSheet绑定半模态页面;4. 卡片一镜到底:利用geometryTransition实现元素位置大小匹配的流畅过渡。文中详细讲解了各类转场的核心实现逻辑、关键代码示例及注意事项,并提供了完整的项目结构说明,

2025-06-10 19:14:31 961

原创 用100道题拿下你的算法面试(数组篇-01):两数之和,找出给定和的数对

本文探讨了判断数组中是否存在两数之和等于目标值的算法问题,并对比了四种解决方案:1)朴素方法(双循环遍历,O(n²)时间);2)排序后二分查找(O(nlogn)时间);3)排序后双指针法(O(nlogn)时间);4)哈希集合法(O(n)时间)。重点推荐使用哈希集合法,其通过存储已遍历元素并实时检查补数,在最优时间复杂度O(n)内解决问题。文章提供了JavaScript、C++、Java、Python、C#等多种语言的实现代码,并分析了各方法的时间/空间复杂度。其中哈希法在未排序数组中表现最佳,而双指针法适用

2025-06-09 16:17:46 1151 1

原创 5. TypeScript 类型缩小

TypeScript中的类型缩小技术包括五种主要方法:1. instanceof缩小 - 通过检查对象实例关系确定类型,适用于类继承体系;2. typeof保护 - 使用typeof运算符识别原始类型(string、number等);3. 相等缩小 - 通过===、==等运算符比较来推断具体类型;4. 真值收窄 - 利用真假值判断排除null/undefined等可能性;5. 类型谓词 - 自定义类型判断函数(is关键字)。这些技术使开发者能编写更精确的类型安全代码,通过条件判断自动缩小变量类型范围,从而在

2025-06-08 18:41:30 1241

原创 4. TypeScript 类型推断与类型组合

《TypeScript类型推断与组合机制解析》 文章阐述了TypeScript的两大核心类型特性:类型推断机制通过变量赋值和使用场景自动确定类型,减少了显式注解需求,包括变量、数组和函数返回值的智能推断。同时深入讲解了类型组合技术,重点介绍了联合类型(用"|"连接多种类型)的变量声明、函数参数和数组应用,以及类型别名(type)为复杂类型创建易读名称的实践方法。此外还解析了keyof操作符获取对象键名联合类型的用法,展示了其在属性访问和映射类型中的应用场景,这些特性共同增强了TypeSc

2025-06-08 07:37:14 909

原创 实现简易动效

本文介绍了基于ArkUI的显式动画与交互事件实现方案。案例通过animateTo接口实现父组件状态变化引发的子组件动画效果,支持旋转、平移、缩放等多种属性动画。系统采用MVVM架构,包含动画组件、数据模型和交互控制三部分,并详细讲解了手势事件(点击、长按、拖动等)、焦点事件和组合手势的实现机制。关键技术点包括:1)显式动画与属性动画的集成应用;2)基于状态管理的组件交互逻辑;3)复杂手势识别与事件分发机制。该方案为HarmonyOS应用开发提供了完整的动画与交互实现参考。

2025-06-07 13:57:34 958

原创 制作电子相册

本案例实现了一个功能丰富的电子相册应用,主要包含:1. 核心功能:首页轮播展示、多种布局方式、手势控制图片缩放/滑动查看细节。2. 技术实现:采用ArkTS语言开发,使用Swiper实现轮播,Grid/List组件实现不同布局,组合手势(GestureGroup)支持图片操作。3. 页面架构:包含首页、列表页、详情页和大图浏览页,通过router实现页面跳转,共享元素实现转场动画。4. 特色交互:双指缩放(PinchGesture)、单指拖动(PanGesture)查看图片细节,上下级页面联动展示效果。5.

2025-06-06 21:19:16 855

原创 区间动态规划

区间动态规划(区间DP)分为两种类型:一种是从中间向两侧转移,另一种是通过合并多个小区间得到大区间。第一种方式适用于回文子序列等问题,通过枚举起点终点,从更小区间推导最优解;第二种方式如矩阵链乘法,通过枚举分割点合并子区间。典型案例包括最长回文子序列(状态转移依据两端字符是否相同)和矩阵链乘法(通过优化分割点降低计算成本),两种方法都遵循先解决子问题再构建全局最优解的原则。

2025-06-05 20:00:45 861

原创 基于Canvas实现画布

摘要:本文介绍了一个基于鸿蒙Canvas实现的绘画应用案例,支持绘画、撤销/重做、橡皮擦、清空、画笔属性设置和缩放等功能。系统采用ArkTS语言开发,使用MVVM架构设计,包含核心组件Canvas和手势事件处理,并实现了折叠屏适配。代码结构清晰,分为视图层、模型层和命令管理类,通过命令模式管理绘制操作。主要功能包括:多种画笔类型选择、颜色/粗细/透明度调整、手势缩放画布以及撤销/重做等操作。该案例展示了鸿蒙开发中Canvas组件的高级用法和复杂交互实现。

2025-06-05 19:41:35 469

原创 求解背包问题

摘要:背包问题是经典的线性DP问题,其核心是在限定背包重量下选择物品以获得最大价值。根据物品限制可分为0-1背包、完全背包、多重背包等类型。文章重点分析了0-1背包问题,提出两种解法:二维DP法和滚动数组优化的一维DP法。二维DP通过定义dp[i][w]表示前i件物品在重量w下的最大价值,时间复杂度O(nW)。优化版本使用一维数组逆序遍历,空间复杂度降为O(W)。两种方法都通过状态转移方程求解,其中优化版本更节省空间。文章还提供了对应的JavaScript代码实现,展示了算法在实际中的应用。 (150字)

2025-06-04 15:56:07 821

原创 鸿蒙任务项设置案例实战

本文摘要:基于HarmonyOS开发的任务管理系统,通过ArkUI框架实现任务创建、编辑与提醒功能。系统包含早起、喝水、吃苹果等6项预设任务,支持开关控制、目标值设置和定时提醒。核心组件包括TaskList展示任务列表,TaskEditPage处理任务编辑,CustomDialogView实现目标设置、提醒时间和频率选择弹窗。关键技术点:1)使用@Provide/@Consume实现组件间数据共享;2)自定义BroadCast类管理事件通信;3)TimePicker/TextPicker构建设置控件;4)响

2025-06-04 15:40:34 479

原创 线性动态规划

摘要:本文介绍了线性动态规划(线性DP)的概念与分类方法。线性DP按状态维度可分为一维、二维及多维问题,按输入格式可分为单串、双串、矩阵和无串问题。重点分析了单串线性DP中的三类典型问题:最长递增子序列(LIS)采用双重循环更新dp数组;最大子数组和使用动态规划判断累积策略;最长斐波那契子序列则通过枚举前两个数进行搜索。每种问题都提供了JavaScript实现代码及示例,展示了线性DP解决序列问题的基本思路和方法。

2025-06-03 17:23:43 659

从零开始配置 VSCode 的 C/C++ 开发环境(含常见问题与解决方案)

本资源包详细介绍了如何从零配置 VSCode 的 C/C++ 开发环境,包含 GCC 编译器安装、VSCode 插件配置、tasks.json 与 launch.json 写法,以及头文件无法识别、终端中文乱码等常见问题与解决方法,并附带图文操作文档和可直接使用的配置模板文件,适合 Windows 初学者快速上手。 zip包内容包括: - 图文教程、示例代码与配置文件 - 常见问题说明(中文乱码、头文件不识别) - 安装包下载链接

2025-06-18

HarmonyOS应用开发案例实战:添加水印案例源码

HarmonyOS应用开发案例实战:添加水印案例源码

2025-06-17

实用高校毕业论文答辩PPT模板50套

毕业论文答辩PPT模板,各种风格、各种色彩、各种专业,含开题和毕业答辩,含本科和研究生。总有一套适合你参考。

2025-05-30

Expo Go-2.33.20-APKPure.xapk

Expo Go 安卓手机安装包。

2025-05-20

com.wuliang.xapkinstaller.apk

专用的 XAPK Installer,用于在安卓上安装xapk应用程序。

2025-05-20

HarmonyOS《制作我的计算器》案例

HarmonyOS应用开发实战指南——《制作我的计算器》案例代码。

2025-05-19

空空如也

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

TA关注的人

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