• 力扣刷题笔记(二)

    跟着教程做了七道链表相关的题目,顿觉豁然开朗、天地宽广,未曾料想到如此简单的链表也会衍生出如此丰富的变化。虽不过是一些简单的奇技淫巧,却能在意想不到的地方起到非常的作用。 合并两个有序链表 - 21 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有结点组成的。 img 这道题是个开胃菜,没有什么难度。我们只需要在两个链表上各放一个指针,顺次向后便利...
  • 力扣刷题笔记(一)

    我的日程安排表 实现一个 MyCalendar 类来存放你的日程安排。如果要添加的日程安排不会造成 重复预订 ,则可以存储这个新的日程安排。 当两个日程安排有一些时间上的交叉时(例如两个日程安排都在同一时间内),就会产生 重复预订 。 日程可以用一对整数 startTime 和 endTime 表示,这里的时间是半开区间,即 [startTime, endTime), 实数 x 的范围为,...
  • 数学表达式计算

    Unit1 概览 Unit1的核心任务是进行数学表达式的化简,在保证正确性的前提下以化简后字符串的长度作为性能的评价依据。程序设计的目的旨在用自动化的方法把人从丑陋、易错的多项式展开、求导中解放出来,实现一个简单的数学计算器。 Hw1 ——万丈高楼平地起 读入一个包含加、减、乘、乘方以及括号(其中括号的深度至多为 1 层)的单变量表达式,输出恒等变形展开所有括号后的表达式。 {.line-n...
  • 图书管理

    BUAA OO 2024 Unit 4 & Final 正向建模与开发 UML 愚见 何为 UML?按照官方的说法,这个叫做统一建模语言(Unified Modeling Language),能够帮助我们理清不同类型的 功能特征和组织结构(类图)、某个实体的 状态变化(状态图)、不同实体的 行为交互(时序图)。如果说,上个单元的的 JML (Java Modeling Languag...
  • 蓝桥杯学习笔记(二)

    这是蓝桥杯 2023 年十三届省赛大学 A 组真题的刷题记录~ 选数异或 - 2081 给定一个长度为 的数列 和一个非负整数 , 给定 次查询, 每次询问能否从某个区间 中选择两个数使得他们的异或等于 。 有一说一,只要想明白了,这个题其实并不难。但可惜的是,我在做题的时候囿于定论,看到题目下方“线段树”的标签,便苦思冥想试图用线段树去解决问题,最终也没有憋出个所以然来。...
  • leptjson 开发实践:测试驱动与安全编程启示

    本文通过实现轻量级 JSON 解析库 leptjson 的全过程,系统总结测试驱动开发在 C 语言项目中的实施路径,并深入探讨防御式编程在接口设计与内存管理中的工程实践。

  • 蓝桥杯学习笔记(一)

    这是蓝桥杯 2023 年十四届省赛大学 A 组真题的刷题记录~ 事故记录: 我们称笔记(一)的文件为 ,笔记(二)的文件为 。 在已经完成笔记(一),准备撰写笔记(二)时,我首先创建了空文件 。为了省事(懒得写文件头的 title、categories、tags 信息),我计划先把 的内容复制到 。但在粗心大意之下,我进行了错误的文件操作,把 的内容复制到了自身而非 。然后我就误把...
  • 第一次算法作业

    本文主要介绍了 5 个算法题的求解思路。射击比赛问题采用了快排的思路;最大奇数因子和问题用了归纳总结和倍缩区间的思想;施工成本采用了排序和双指针的思想;村庄距离问题采用了分治的思想。

  • 第二次算法作业

    本文主要介绍了 5 个算法题的求解思路。不完美字符串问题采用了贪心算法;鲜花问题和最小划分问题都采用了部分和的思想来优化动态规划;最长公共上升子序列问题采用了动态规划的思想;叠塔问题采用了数学归纳法和动态规划的思想。

  • 第四次算法作业

    本文主要介绍了 5 个算法题的求解思路。最小点集问题采用了强连通分量的思想;最小环问题采用 Floyd 算法的思想;最短路经过次数问题采用 Dijkstra 算法的思想;扩张树问题采用 KrusKal 算法的思想。