排序
【Python】datetime包
我介绍了 Python 中用于处理日期和时间的内置库 datetime。我讲解了该库中的核心类,包括 datetime(日期时间)、date(日期)、time(时间)和 timedelta(时间差),说明了它们的用途、构造方...
【DP】使用最小花费爬楼梯
我解决了一道名为“使用最小花费爬楼梯”的算法题。我采用动态规划(DP)方法,定义一个 dp 数组,其中 dp[i] 表示到达第 i 个台阶的最小花费。状态转移方程为:到达当前台阶的最小花费等于当前...
【模拟】回文日期
题目 我的代码 import datetime ipt = input() begin = datetime.datetime(int(ipt[0:4]), int(ipt[4:6]), int(ipt[6:8])) flag1=0 flag2=0 while True: if flag1==1 and flag2==1: brea...
【递归】快速幂
class Solution: def myPow(self, x: float, n: int) -> float: if n==0: return 1 if n==1: return x if n==-1: ...
【递归】2的幂
递归法: class Solution: def isPowerOfTwo(self, n: int) -> bool: if n==1: return True if n<=0 or n%2!=0: return Fals...
【递归】斐波那契数
我探讨了斐波那契数的求解方法。虽然直接使用递归是直观的,但它会因大量重复计算子问题而导致效率低下,在数据量大时容易超时。为了优化,我提出了两种基于“备忘录”思想的方法来避免重复计算...
【模拟】旋转矩阵
#include<stdio.h> int main(){ int n; scanf('%d',&n); int a[n][n]; int top=0,down=n-1,left=0,right=n-1,count=1; while(count<=n*n){ for (int i=left;i<=right;i++){ a[top]...
【模拟】各位相加
#include<iostream> using namespace std; int main(){ int num; cin >> num; while(num>9){ int total=0; while(num!=0){ total+=num%10; num/=10; } num = total; total = 0; } cout <&...
【模拟】二进制求和
#include <iostream> using namespace std; string addBinary(string a, string b){ string res; int carry = 0; // 进位 int i = a.size() - 1; int j = b.size() - 1; while(i >= 0 || j...
【C++】高精度减法
我实现了一个C++高精度减法算法。该方法的核心思想是模拟小学的竖式减法,通过字符串读取超过标准整型范围的大数,再将其倒序存入数组中。我通过比较两个数的大小来处理结果的正负,并实现了逐...
【C++】高精度加法
我实现了一个C++高精度加法算法。我的方法是模拟小学竖式加法,通过字符串读取大数,并将其倒序存入整型数组中,以便对齐进行计算。我逐位相加并处理进位,最终将存储结果的数组逆序输出,从而...
【C++】过河卒问题
我通过动态规划方法解决了C++中的过河卒问题。我的方案首先考虑无马干扰的简化情况,路径数通过类似杨辉三角的递推计算。接着,我处理了有马的情况:在棋盘上标记出马及其所有控制点为障碍。在...
【递归】反转链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { stru...
【NOIP2009 普及组】 分数线划定
我解决了一道关于划定分数线的编程题目。我的方法是先对所有选手进行排序,排序规则为:优先按分数从高到低,分数相同时再按报名号从小到大。排序后,我确定了计划录取人数150%位置的选手分数作...
【C】合并有序数组
我演示了在C语言中合并两个有序数组的方法。我创建了一个足够大的新数组来存放合并后的结果,并使用三个指针分别遍历两个输入数组和一个结果数组。通过逐个比较两个数组中的元素,我将较小的元...
【C】使用函数递归实现顺序数组二分查找
我通过C语言代码演示了如何利用递归函数实现对有序数组的二分查找。我编写了一个递归函数,该函数通过比较目标值与数组中间元素的大小,来决定下一步是在数组的左半部分还是右半部分继续进行递...














