2025.3.3任务
25.3.3任务 距离复试倒计时 20天 算法学习 翻转字符串里的单词 KMP算法(理论) KMP算法 (代码) 重复的子字符串 用栈实现队列 用队列实现栈 有效的括号 删除字符串中所有相邻的重复项 逆波兰表达式求值 滑动窗口最大值 前K个高频元素 二叉树理论基础 递归遍历 非递归遍历 非递归遍历-中序 代码练习N诺字符串3题练习 字符串区间翻转1642 字符串匹配1397 字符串处理-单词匹配1541 pytorch李沐AI学习 Softmax回归 + 损失函数 + 图片分类数据集 多层感知机 + 代码实现 模型选择 + 过拟合和欠拟合 权重衰退 人脸识别项目搭建Facenet-PyTorch项目 以上内容最重要的是算法学习,其他重要程度相同 可以先完成算法学习,然后匹配代码练习,最后学pytorch李沐AI学习,中间穿插人脸识别项目搭建 4 - 1 - 4 - 2 分配
sort函数用法详解
sort 函数用法详解sort() 是 C++ 标准库 <algorithm> 中的一个函数,用于对数组或容器中的元素进行排序。它基于快速排序、堆排序或插入排序等算法实现,具体实现取决于编译器和数据规模。sort() 的时间复杂度通常是 O(N log N)。 以下是 sort() 函数的详细用法: 1. 基本语法1234567#include <algorithm> // 必须包含的头文件// 默认排序(升序)sort(start, end);// 自定义排序规则sort(start, end, compare_function); start:指向排序范围的起始位置(迭代器或指针)。 end:指向排序范围的结束位置(迭代器或指针),注意是左闭右开区间 [start, end)。 compare_function:可选参数,用于自定义排序规则。如果不提供,默认按升序排序。 2. 默认排序(升序)默认情况下,sort() 会将元素按升序排列。 示例:对数组排序12345678910111213141516#include...
加密算法1014
加密算法 题目链接:题目链接 题目难度:中等 题目描述给出一个字符串,将其中的小写字符转换为后三个的小写字符,大写同理,同时,z后面为a,大写同理。 解题思路 将大小写字符以及非大小写字符进行一个区别对待,分开处理 由于z后面是a的原因,所以要进行取模是肯定的 要格外注意取模时需要满足的条件,因为取模之后会出现问题,就是不够的问题 代码实现123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <bits/stdc++.h>using namespace std;int main(){ //一个是65A,一个是97a //输入 //这里一开始就没有能够完全进行输入 int z = 'z'; int Z = 'Z'; string str; getline(cin,str); for(int...
最大公约数判断
最大公约数判断(手动GCD)要判断两个数 没有除 1 以外的最小公因数,实际上等价于判断它们的 最大公约数(GCD)是否为 1,即它们是 互质(互为质数) 的。 C++ 实现使用 std::gcd()(C++17 及以上)或自定义 欧几里得算法(辗转相除法) 计算 GCD: 123456789101112131415161718192021#include <iostream>#include <algorithm> // C++17 及以上支持 std::gcdusing namespace std;// 判断两个数是否只有 1 作为公因数(即互质)bool hasOnlyOneAsGCD(int a, int b) { return __gcd(a, b) == 1; // 计算 GCD,判断是否为 1}int main() { int num1 = 15, num2 = 28; if (hasOnlyOneAsGCD(num1, num2)) { cout <<...
日期1011
日期 题目来源:N诺 题目链接:题目链接 题目难度:中等 题目描述给出一个日期并告诉你是星期几,然后要求随机给出两个数,分别代表月份和几号,要求你给出这个日期是星期几。 解题思路 找到两个日期之间的间隔天数,注意大小月 通过间隔天数和星期四这两者关系,一周7天即可进行取模 代码实现12345678910111213141516171819202122232425262728293031323334353637383940414243#include <bits/stdc++.h>using namespace std;int main(){ vector<int> array; for(int i = 0;i<=1;i++){ int a; cin>>a; array.push_back(a); } //将两个数字传入数组之中进行保存 int...
01序列1001
01序列 题目来源:N诺 题目链接:题目链接 题目难度:简单 题目描述给出一个数 n ,要求display从 0 到 n-1的所有二进制序列。 解题思路 初步思路: 采用bitset容器类,这是一个专门用来处理二进制的类,一般这个类有以下几个函数可以使用。 set():设置指定的位为 1。 指定第三位(从左到右,从1开始数)为 0 :set(3,0) reset():将所有位设置为 0。 flip():翻转所有位或指定的某一位。 test():检查某一位是否为 1。 size():获取 bitset 的位数。 代码实现123456789101112131415161718192021222324252627#include <bits/stdc++.h>using namespace std;int main(){ for(int i =0;i<=63;i++){ cout<<bitset<6>(i)<<endl; //...
任意进制之间的模拟转换
任意进制之间的模拟转换 tip:特殊条件,输入的内容有字母为大写字符,输出如果有字母那么为小写字符 我的代码: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667// Created by 周安楠 on 25-2-26.// 将任意进制转换为其他进制#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;long long convertTen(string number,int base) { //将base进制转换为十进制 long long sum = 0; int index = number.size()-1; for (char s: number)...
任意进制之间的模拟转换
杨辉三角123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657// Created by 周安楠 on 25-2-26.// 杨辉三角模拟实现,采用栈实现#include <iostream>#include <stack>using namespace std;int main(){ int n; while(cin>>n && n!=0) { stack<int> q; if(n<3) { if (n==1) { cout<<1<<endl; }else { cout<<1<<endl; cout<<1<<"...
二分查找
二分查找自己写的代码如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647//二分查找(基础二分)#include <iostream>#include <string>#include <vector>#include <sstream>using namespace std;int main() { //从外面接收一行数据 string str; int x; vector<int> array; getline(cin,str); stringstream ssl(str); while (ssl>>x) { array.push_back(x); } //成功用数组进行了数据的接收,二分查找输入的数据必须是有序的,进行一下排序,默认升序 ...
C++数据接收
C++数据接收1. 整行数据接收,中间用空格分隔 使用getline()读取整行,并用streamstring分割字符串 简单代码实现如下: 12345678910111213141516171819202122int main() { vector<int> arr1, arr2; string line; // 读取第一行 getline(cin, line); stringstream ss1(line); int x; while (ss1 >> x) arr1.push_back(x); // 读取第二行(简单粗暴,按照逻辑,直接进行第二行读取) getline(cin, line); stringstream ss2(line); while (ss2 >> x) arr2.push_back(x); // 输出验证 cout << "Array1: "; for (int i :...