算法 第2页
令人头疼的算法,算法竞赛冲啊
【Python】datetime包 - AI科研 编程 读书笔记 - 小竹の笔记本

【Python】datetime包

我介绍了 Python 中用于处理日期和时间的内置库 datetime。我讲解了该库中的核心类,包括 datetime(日期时间)、date(日期)、time(时间)和 timedelta(时间差),说明了它们的用途、构造方...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
013210
【DP】使用最小花费爬楼梯 - AI科研 编程 读书笔记 - 小竹の笔记本

【DP】使用最小花费爬楼梯

我解决了一道名为“使用最小花费爬楼梯”的算法题。我采用动态规划(DP)方法,定义一个 dp 数组,其中 dp[i] 表示到达第 i 个台阶的最小花费。状态转移方程为:到达当前台阶的最小花费等于当前...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
019010
【模拟】回文日期 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】回文日期

题目 我的代码 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...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
02187
【递归】快速幂 - AI科研 编程 读书笔记 - 小竹の笔记本

【递归】快速幂

class Solution:    def myPow(self, x: float, n: int) -> float:        if n==0:            return 1        if n==1:            return x        if n==-1:  ...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01529
【递归】2的幂 - AI科研 编程 读书笔记 - 小竹の笔记本

【递归】2的幂

递归法: class Solution:    def isPowerOfTwo(self, n: int) -> bool:        if n==1:            return True        if n<=0 or n%2!=0:            return Fals...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
017111
【递归】斐波那契数 - AI科研 编程 读书笔记 - 小竹の笔记本

【递归】斐波那契数

我探讨了斐波那契数的求解方法。虽然直接使用递归是直观的,但它会因大量重复计算子问题而导致效率低下,在数据量大时容易超时。为了优化,我提出了两种基于“备忘录”思想的方法来避免重复计算...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
017115
【模拟】旋转矩阵 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】旋转矩阵

#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]...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
06210
【模拟】各位相加 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】各位相加

#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 <&...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01716
【模拟】二进制求和 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】二进制求和

#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...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
015214
【C++】高精度减法 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】高精度减法

我实现了一个C++高精度减法算法。该方法的核心思想是模拟小学的竖式减法,通过字符串读取超过标准整型范围的大数,再将其倒序存入数组中。我通过比较两个数的大小来处理结果的正负,并实现了逐...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
014313
【C++】高精度加法 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】高精度加法

我实现了一个C++高精度加法算法。我的方法是模拟小学竖式加法,通过字符串读取大数,并将其倒序存入整型数组中,以便对齐进行计算。我逐位相加并处理进位,最终将存储结果的数组逆序输出,从而...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01058
【C++】过河卒问题 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】过河卒问题

我通过动态规划方法解决了C++中的过河卒问题。我的方案首先考虑无马干扰的简化情况,路径数通过类似杨辉三角的递推计算。接着,我处理了有马的情况:在棋盘上标记出马及其所有控制点为障碍。在...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
016514
【递归】反转链表 - AI科研 编程 读书笔记 - 小竹の笔记本

【递归】反转链表

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) {    stru...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01585
【NOIP2009 普及组】 分数线划定 - AI科研 编程 读书笔记 - 小竹の笔记本

【NOIP2009 普及组】 分数线划定

我解决了一道关于划定分数线的编程题目。我的方法是先对所有选手进行排序,排序规则为:优先按分数从高到低,分数相同时再按报名号从小到大。排序后,我确定了计划录取人数150%位置的选手分数作...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
02298
【C】合并有序数组 - AI科研 编程 读书笔记 - 小竹の笔记本

【C】合并有序数组

我演示了在C语言中合并两个有序数组的方法。我创建了一个足够大的新数组来存放合并后的结果,并使用三个指针分别遍历两个输入数组和一个结果数组。通过逐个比较两个数组中的元素,我将较小的元...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
012711
【C】使用函数递归实现顺序数组二分查找 - AI科研 编程 读书笔记 - 小竹の笔记本

【C】使用函数递归实现顺序数组二分查找

我通过C语言代码演示了如何利用递归函数实现对有序数组的二分查找。我编写了一个递归函数,该函数通过比较目标值与数组中间元素的大小,来决定下一步是在数组的左半部分还是右半部分继续进行递...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
018015