算法和数据结构
STL
【C++】蓝桥杯必备 算法竞赛常用STL万字总结_蓝桥杯算法竞赛_Cpt1024的博客-CSDN博客
day1
1:正确
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
// 中序遍历一遍二叉树,并统计节点数目
class Solution {
public:int count = 0; // 统计节点数void inorder(TreeNode* root) {if(!root) return;inorder(root->left);count += 1;inorder(root->right);}int countNodes(TreeNode* root) {inorder(root);return count;}
};
2:不会
93. 复原 IP 地址 - 力扣(LeetCode)
class Solution {
public:vector<string> restoreIpAddresses(string s) {// 对于 "25525511135" 中最左边的255,我们有不同的划分方式// 25 5 和 255 具体划分的依据不清楚是什么}
};
3:解答错误
123. 买卖股票的最佳时机 III - 力扣(LeetCode)
class Solution {
public:int maxProfit(vector<int>& prices) {// 1 特判// 如果数组只有一个元素,不能交易,返回 0if (prices.size() == 1) return 0;// 如果数组有两个元素,判断能否交易if (prices.size() == 2) {return (prices[1] - prices[0]) > 0 ? (prices[1] - prices[0]) : 0;} // 2 先判断能否完成至少一次交易// 先找到最左边的 [a, b] 可交易区间 a < bint l1, r1, l2, r2;bool flag1 = false; // flag1 = true 表示至少可以完成一次交易bool flag2 = false; // flag2 = true 表示至少可以完成一次交易for(int i = 0; i <= prices.size() - 2; ++i) {for(int j = i + 1; j <= prices.size() - 1; ++j) {if (prices[j] > prices[i]) {flag1 = true;l1 = i;r1 = j;break;}}}if (flag1 == false) {return 0;}// 再找最右边的 [a, b] 可交易区间 a < bfor (int i = prices.size() - 1; i >= 1; --i) {for (int j = prices.size() - 2; j >= 0; --j) {if (prices[i] > prices[j]) {l2 = i;r2 = j;break;}}}if (r1 < l2) {flag2 = true;}// 3 如果只有一段可交易区间int value = -1;if (flag1 == true && flag2 == false) {for(int i = 0; i <= prices.size() - 2; ++i) {for(int j = i + 1; j <= prices.size() - 1; ++j) {if (prices[j] > prices[i]) {value = max((prices[j] - prices[i]), value);}}}return value;}// 4 如果可能有两段可交易区间if (flag1 == true && flag2 == true) {int i1, j1, i2, j2;j2 = prices.size() - 1;i2 = prices.size() - 2;for(i1 = 0; i1 <= prices.size() - 2; ++i1) {for(j1 = i1 + 1; j1 <= prices.size() - 1; ++j1) {if (prices[j1] > prices[i1]) {for (i2 = prices.size() - 2; i2 > j1; --i2) {for (j2 = prices.size() - 1; j2 > i2; --j2) {if (prices[j2] > prices[i2]) {value = max(value, (prices[j1] - prices[i1]) + (prices[j2] - prices[i2]) );}} }}}}return value;}return 0;}
};
4: 解答错误
不知道动规错在哪
416. 分割等和子集 - 力扣(LeetCode)
class Solution {
public:bool canPartition(vector<int>& nums) {// 1 特判// 如果只有一个元素不可能if (nums.size() == 1) {return false;}// 如果和为奇数,不可能int sum = accumulate(nums.begin(), nums.end(), 0);int frac = sum % 2;int half = sum / 2;if (frac == 1) {return false;}// 如果最大值大于一半,不可能int maxValue = -1;for (int i = 0; i <= nums.size() - 1; ++i) {maxValue = max(maxValue, nums[0]);}if (maxValue > half) {return false;}// 2int n = nums.size();sort(nums.begin(), nums.end());vector<vector<bool>> dp(n, vector<bool>(half + 1, false));for (int i = 0; i < n; ++i) {dp[i][0] = true;}for (int j = 1; j <= half; ++j) {if (j == nums[0]) {dp[0][j] = true;} else {dp[0][j] = false;}}for (int i = 1; i < n; ++i) {for (int j = 1; j <= half; ++j) {if (j >= nums[i]) {dp[i][j] = dp[i - 1][j - nums[i]] || dp[i - 1][j];} else {dp[i][j] = dp[i - 1][j];}}}return dp[n - 1][half + 1];}
};
5:解答错误
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
class Solution {
public:int length = 0; // 记录最大长度void bfs(vector<vector<int>>& matrix, int i, int j, int m, int n) {length += 1;matrix[i][j] = -10;if ( ((i - 1) >= 0) && ((matrix[i - 1][j]) > matrix[i][j]) ) {bfs(matrix, i - 1, j, m, n);length -=1;}if ( ((j - 1) >= 0) && ((matrix[i][j - 1]) > matrix[i][j]) ) {bfs(matrix, i, j - 1, m, n);length -=1;}if ( ((i + 1) <= m - 1) && ((matrix[i + 1][j]) > matrix[i][j]) ) {bfs(matrix, i + 1, j, m, n);length -=1;}if ( ((j + 1) <= n - 1) && ((matrix[i][j + 1]) > matrix[i][j]) ) {bfs(matrix, i, j + 1, m, n);length -=1;}}int longestIncreasingPath(vector<vector<int>>& matrix) {int m = matrix.size(), n = matrix[0].size();for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {bfs(matrix, i, j, m, n);}}return length;}
};
6:有思路
class Solution {
public:int equalSubstring(string s, string t, int maxCost) {int n = s.size();vector<int> cost(n, 0);for (int i = 0; i < n; i++) {cost[i] = abs(s[i] - t[i]);}// 双指针滑动窗口求最大长度// 计算滑窗内的 cost 值int l1 = 0, r1 = 0;int ans = 0;int res = 0;while (r1 < n && l1 <= r1) {int costRange = 0;// 计算当前窗口中的 cost 和 长度for (int i = l1; i <= r1; ++i) {costRange += cost[i];ans = r1 - l1 + 1;}// 区间cost小,则递增右边界// 此时也需要更新 resif (costRange < maxCost) {res = max(res, ans);r1++;}// 区间 cost 相等,递增左边界// 储存当前值if (costRange == maxCost) {res = max(res, ans);l1++;}// 区间 cost 大,则递增左边界if (costRange > maxCost) {l1++;}}return res;}
};
7:不会
410. 分割数组的最大值 - 力扣(LeetCode)
8:正确
class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {int n = nums.size();vector<int> next(n, -1);for (int i = 0; i < n; ++i) {int j = (i + 1) % n;while (j != i) {if (nums[j] > nums[i]) {next[i] = nums[j];break;}j = (j + 1) % n;}}return next;}
};
回溯
1: 77 √
path:递归路径
index:下标
停止条件:path.size() == k
递归方向:[index, n]
class Solution {
public:// 储存递归路径vector<int> temp;vector<vector<int>> res;void dfs(int index, int n, int k) {// 剪枝:temp 长度加上区间 [index, n] 的长度小于 k,不可能构造出长度为 k 的 tempif ((temp.size() + (n - index + 1)) < k) {return;}// 停止条件if (temp.size() == k) {res.push_back(temp);return;}// 从 index 到 n 进行回溯for (int i = index; i <= n; ++i) {// 考虑当前位置temp.push_back(i);dfs(i + 1, n, k);temp.pop_back();}}vector<vector<int>> combine(int n, int k) {dfs(1, n, k);return res;}
};
2: 39 √
class Solution {
public:// 有序数组可以优化vector<vector<int>> res;vector<int> temp;vector<vector<int>> combinationSum(vector<int>& candidates, int target) {dfs(0, 0, candidates, target);return res;}void dfs(int index, int sum, vector<int>& candidates, int target) {if (sum >= target) {if (sum == target) {res.push_back(temp);}return;}for (int i = index; i <= candidates.size() - 1; ++i) {temp.push_back(candidates[i]);// 这次选的是i则继续从i考虑,不考虑小于 i 的dfs(i, sum + candidates[i], candidates, target);temp.pop_back();}}
};
class Solution {
public:// 有序数组可以优化vector<vector<int>> res;vector<int> temp;vector<vector<int>> combinationSum(vector<int>& candidates, int target) {sort(candidates.begin(), candidates.end());dfs(0, 0, candidates, target);return res;}void dfs(int index, int sum, vector<int>& candidates, int target) {if (sum >= target) {if (sum == target) {res.push_back(temp);}return;}for (int i = index; i <= candidates.size() - 1; ++i) {// 优化if (sum + candidates[i] > target) return;temp.push_back(candidates[i]);// 这次选的是i则继续从i考虑,不考虑小于 i 的dfs(i, sum + candidates[i], candidates, target);temp.pop_back();}}
};
3: 40 : 同层去重 √
class Solution {
public:vector<vector<int>> res; // 存储结果的二维向量vector<int> temp; // 存储临时组合的向量vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {sort(candidates.begin(), candidates.end()); // 对候选数字进行排序,以方便去重和处理dfs(0, 0, temp, candidates, target); // 开始深度优先搜索return res; // 返回结果}// 深度优先搜索函数void dfs(int index, int sum, vector<int>& temp, vector<int>& candidates, int target) {if (sum >= target) { // 如果当前和大于等于目标值if (sum == target) { // 如果当前和等于目标值res.push_back(temp); // 将临时组合加入结果中}return; // 结束当前递归}unordered_set<int> occ; // 使用哈希集合来处理去重for (int i = index; i <= candidates.size() - 1; ++i) {if (occ.find(candidates[i]) != occ.end()) { // 如果当前数字已经在组合中出现过continue; // 继续下一次循环,避免重复组合}occ.insert(candidates[i]); // 将当前数字加入哈希集合中temp.push_back(candidates[i]); // 将当前数字加入临时组合中dfs(i + 1, sum + candidates[i], temp, candidates, target); // 递归搜索下一层temp.pop_back(); // 回溯,将最后一个数字从临时组合中移除}}
};
4: 216
class Solution {
public:vector<int> path;vector<vector<int>> res;vector<vector<int>> combinationSum3(int k, int n) {dfs(1, 0, k, n);return res;}void dfs(int index, int sum, int k, int n) {if (sum >= n) {if (sum == n && path.size() == k) {res.push_back(path);}}for (int i = index; i <= 9; ++i) {if (sum + i > n) return;path.push_back(i);dfs(i + 1, sum + i, k, n);path.pop_back();}}
};
5: 93
#include <iostream>
#include <string>int main() {std::string str = "Hello, World!";// 从索引位置2开始,截取5个字符,得到 "llo, "std::string sub1 = str.substr(2, 5);// 从索引位置7开始,截取到字符串末尾,得到 "World!"std::string sub2 = str.substr(7);std::cout << "sub1: " << sub1 << std::endl;std::cout << "sub2: " << sub2 << std::endl;return 0;
}
class Solution {
public:vector<string> res; // 存储结果的向量vector<string> restoreIpAddresses(string s) {vector<string> segments(4); // 创建一个具名的向量对象,用于存储 IP 地址的 4 段dfs(0, 0, segments, s); // 开始深度优先搜索return res; // 返回结果}// 将向量 segments 转换为字符串表示string toString(vector<string>& segments) {string result;for (int i = 0; i < 3; ++i) {result += segments[i] + ".";}result += segments[3];return result;}// 检查字符串是否满足 IP 地址的要求bool check(string s) {return (s[0] != '0' || s == "0") && stoi(s) < 256; // 满足 IP 地址范围条件}// 深度优先搜索函数void dfs(int index, int segindex, vector<string>& segments, string s) {if (segindex == 4 || index == s.length()) {if (segindex == 4 && index == s.length()) {res.push_back(toString(segments)); // 将合法的 IP 地址加入结果向量}return; // 结束当前递归}for (int i = 1; i <= 3; ++i) { // 尝试将当前段长度从 1 到 3if (i + index > s.length()) return; // 如果超过字符串长度,结束本次尝试string sub = s.substr(index, i); // 获取当前段if (check(sub)) {segments[segindex] = sub; // 将当前段加入向量 segmentsdfs(index + i, segindex + 1, segments, s); // 递归尝试下一段}}}
};
6: 78 √
class Solution {
public:vector<vector<int>> res;vector<int> path;vector<vector<int>> subsets(vector<int>& nums) {dfs(0, nums);return res;}void dfs(int index, vector<int>& nums) {res.push_back(path);for (int i = index; i <= nums.size() - 1; ++i) {path.push_back(nums[i]);dfs(i + 1, nums);path.pop_back();}}
};
7: 491 √
class Solution {
public:vector<vector<int>> res;vector<int> path;vector<vector<int>> findSubsequences(vector<int>& nums) {dfs(0, nums);return res;}unordered_set<int> appear;void dfs(int index, vector<int>& nums) {if (path.size() >= 2) {res.push_back(path);}// 同层去重 [4, 6, 6, 7]unordered_set<int> occ;for (int i = index; i <= nums.size() - 1; ++i) {if (path.size() > 0 && nums[i] < path.back() || occ.find(nums[i]) != occ.end()) continue;occ.insert(nums[i]);path.push_back(nums[i]);dfs(i + 1, nums);path.pop_back();}}
};
8: 46 排列问题 √
排列问题
class Solution {
public:vector<int> path;vector<int> used; // 将 vector<bool> 改为 vector<int>vector<vector<int>> res;vector<vector<int>> permute(vector<int>& nums) {used.resize(nums.size(), 0); // 初始化 used 向量dfs(nums);return res;}void dfs(vector<int>& nums) {if (path.size() == nums.size()) {res.push_back(path);return;}for (int i = 0; i < nums.size(); ++i) {if (!used[i]) {used[i] = 1; // 将 false 改为 1,表示已使用path.push_back(nums[i]);dfs(nums);path.pop_back();used[i] = 0; // 将 true 改为 0,表示未使用}}}
};
9: 47
class Solution {
public:vector<vector<int>> res;vector<int> used;vector<int> path;vector<vector<int>> permuteUnique(vector<int>& nums) {used.resize(nums.size(), 0);dfs(nums);return res;}void dfs(vector<int>& nums) {if (path.size() == nums.size()) {res.push_back(path);return;}unordered_set<int> occ;for (int i = 0; i < nums.size(); ++i) {if (used[i] == 0 && occ.find(nums[i]) == occ.end()) {occ.insert(nums[i]);used[i] = 1;path.push_back(nums[i]);dfs(nums);path.pop_back();used[i] = 0;}}}
};
10:698
class Solution {
public:vector<int> subs; // subs 向量用于存储当前每个子集的和int ave; // ave 存储每个子集的目标平均和// 判断是否能将数组分成 k 个和相等的子集bool canPartitionKSubsets(vector<int>& nums, int k) {int sumN = 0; // sumN 存储数组 nums 中所有元素的和subs.resize(k, 0); // 初始化 subs 向量,包含 k 个元素,初始值为 0sumN = accumulate(nums.begin(), nums.end(), 0); // 计算数组 nums 的总和if (sumN % k != 0) {return false; // 如果总和不能被 k 整除,无法分成 k 个和相等的子集}ave = sumN / k; // 计算每个子集的目标平均和sort(nums.begin(), nums.end(), greater()); // 对 nums 数组进行逆序排序,以便从大到小选择元素return dfs(0, nums, k); // 调用深度优先搜索函数判断是否能分成 k 个和相等的子集}// 深度优先搜索函数,尝试将每个元素分配到不同的子集中bool dfs(int index, vector<int>& nums, int k) {if (index == nums.size()) {for (int sub : subs) if (sub != ave) return false; // 如果有子集的和不等于 ave,返回 falsereturn true; // 所有子集的和都等于 ave,返回 true}unordered_set<int> occ; // 使用哈希集合记录已经尝试过的和for (int i = 0; i < k; ++i) {if (subs[i] + nums[index] > ave || occ.find(subs[i]) != occ.end()) continue; // 如果加入到当前子集后超过 ave 或者已经尝试过当前和,跳过occ.insert(subs[i]); // 将当前子集和加入到哈希集合subs[i] += nums[index]; // 将当前元素加入到当前子集if (dfs(index + 1, nums, k)) return true; // 递归尝试将下一个元素加入子集subs[i] -= nums[index]; // 回溯,将当前元素从子集中移除}return false; // 无法将元素分配到子集中}
};
相关文章:
算法和数据结构
STL 【C】蓝桥杯必备 算法竞赛常用STL万字总结_蓝桥杯算法竞赛_Cpt1024的博客-CSDN博客 day1 1:正确 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 // 中序遍历一遍二叉树,并统计节点数目 class Solution { public:int c…...
商城-学习整理-集群-K8S-集群环境部署(二十四)
目录 一、MySQL集群1、mysql集群原理2、Docker安装模拟MySQL主从复制集群1、下载mysql镜像2、创建Master实例并启动3、创建 Slave 实例并启动4、为 master 授权用户来同步数据1、进入 master 容器2、进入 mysql 内部 (mysql –uroot -p)3、查看 master 状…...
利用多种机器学习方法对爬取到的谷歌趋势某个关键词的每日搜索次数进行学习
大家好,我是带我去滑雪! 前一期利用python爬取了谷歌趋势某个关键词的每日搜索次数,本期利用爬取的数据进行多种机器学习方法进行学习,其中方法包括:随机森林、XGBOOST、决策树、支持向量机、神经网络、K邻近等方法&am…...
ARL资产侦察灯塔 指纹增强
项目:https://github.com/loecho-sec/ARL-Finger-ADD 下载项目后运行 python3 ARl-Finger-ADD.py https://你的vpsIP:5003/ admin password该项目中的finger.json可以自己找到其他的指纹完善,然后运行脚本添加指纹。...
javaee spring 自动注入,如果满足条件的类有多个如何区别
如图IDrinkDao有两个实现类 方法一 方法二 Resource(name“对象名”) Resource(name"oracleDrinkDao") private IDrinkDao drinkDao;...
sql语句中的ddl和dml
操作数据库:CRUD C(create) 创建 *数据库创建出来默认字符集为utf8 如果要更改字符集就 Create database 名称 character set gbk(字符集) *创建数据库:create database 名称 *先检查是否有该数据库在…...
学习JAVA打卡第四十一天
字符串与字符数组、字节数组 ⑴字符串与字符数组 String类的构造方法String(char a[])和String(char a[]),int offset,int length,分别用数组a中的全部字符和部分字符创建string对象。 String类也提供将string对象的字符序列存…...
leetcode SQL题目
文章目录 组合两个表第二高的薪水第N高的薪水分数排名连续出现的数字超过经理收入的员工查找重复的电子邮件从不订购的客户部门工资最高的员工部门工资前三高的所有员工删除重复的电子邮箱上升的温度游戏玩法分析Ⅰ游戏玩法Ⅳ 组合两个表 SELECT firstName,lastName,city,stat…...
计算机组成原理学习笔记-精简复习版
一、计算机系统概述 计算机系统硬件软件 计算机硬件的发展: 第一代计算机:(使用电子管)第二代计算机:(使用晶体管)第三代计算机:(使用较小规模的集成电路)第四代计算机:(使用较大规模的集成电路) 冯诺依曼体系结构…...
聊一聊微前端框架的选型和实现 | 业务平台
一、项目背景 目前,我们开发维护的项目主要有 6 个,但是分别对应 PC 和 H5 两个端: 如上图所示,我们 6个项目最开始是一个一个进行开发维护的,但是到后期,这几个项目之间有的部分会有业务逻辑不同ÿ…...
Elasticsearch 集成---框架集成SpringData-集成测试-索引操作
1.Spring Data 框架介绍 Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的 开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计 算数据服务。 Spring Data 可以极大的简化 JPA &a…...
将Series序列中的缺失值用后一个值填充Series.bfill()
【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 对于Series序列中的缺失值n1 用n1后面的值n2来填充替代 Series.bfill() [太阳]选择题 关于以下代码的说法中错误的是? import numpy as np import pandas as pd a pd.Series([1,np.nan,2,np.…...
用香港服务器域名需要备案吗?
在选择服务器的时候,很多人会考虑使用香港服务器。香港服务器的一个优势就是不需要备案。不管是虚拟主机还是云主机,无论是个人网站还是商业网站,都不需要进行备案手续。 域名实名认证 虽然不需要备案,但使用香港服务器搭建…...
【项目经理】项目管理杂谈
杂谈 1. 走上管理岗位,别再自己埋头干了2. 如何更好地管理项目进度3. 管理是“管事”而不是“管人”4. 让领导欣赏的十个沟通技巧在这里插入图片描述 1. 走上管理岗位,别再自己埋头干了 2. 如何更好地管理项目进度 3. 管理是“管事”而不是“管人” 4. 让…...
【算法总结篇】 笔面试常见题目
综述: 💞目的:本系列是个人整理为了秋招算法的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于网上知识点进行的,每个代码参考热门大佬博客和leetcode平台…...
Java基础 数据结构一【栈、队列】
什么是数据结构 数据结构是计算机科学中的一个重要概念,用于组织和存储数据以便有效地进行访问、操作和管理。它涉及了如何在计算机内存中组织数据,以便于在不同操作中进行查找、插入、删除等操作 数据结构可以看作是一种数据的组织方式,不…...
Spark on Yarn集群模式搭建及测试
🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 点击传送:大数据学习专栏 持续更新中,感谢各位前辈朋友们支持学习~ 文章目录 1.Spark on Yarn集群模式介绍2.搭建环境准备3.搭建步骤 1.Spark on Yarn集群模式介…...
vue 简单实验 v-on html事件绑定
1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"event-handling"><p>{{ message }}</p><button v-on:click"reverseMessage">反转 Message</but…...
c#设计模式-创建型模式 之 原型模式
概述 原型模式是一种创建型设计模式,它允许你复制已有对象,而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得,而不是每次都重新创建。 原型模式包含如下角色: 抽象原型类:规定了具…...
运放的分类、运放的参数
一、运放的分类 运放按功能分为通用运放与专用运放(高速运放、精密运放、低IB运放等)。 1.1通用运放 除廉价外,没有任何最优指标的运放。 例:uA741,LM324,TL06X,TL07X、TL08X等 国外知名运放…...
手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率
目录 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率 前提条件 设置学习率 学习率的主流优化算法 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率 我们明确了分类任务的损失函数(优化目标)的相关概念和实现方法ÿ…...
软件工程(二十) 系统运行与软件维护
1、系统转换计划 1.1、遗留系统的演化策略 时至今日,你想去开发一个系统,想完全不涉及到已有的系统,基本是不可能的事情。但是对于已有系统我们有一个策略。 比如我们是淘汰掉已有系统,还是继承已有系统,或者集成已有系统,或者改造遗留的系统呢,都是不同的策略。 技术…...
蓝蓝设计ui设计公司作品--泛亚高科-光伏电站控制系统界面设计
泛亚高科(北京)科技有限公司(以下简称“泛亚高科”),一个以实时监控、高精度数值计算为基础的科技公司, 自成立以来,组成了以博士、硕士为核心的技术团队,整合了华北电力大学等高校资源,凭借在电…...
软考高级系统架构设计师系列论文七十:论信息系统的安全体系
软考高级系统架构设计师系列论文七十:论信息系统的安全体系 一、信息系统相关知识点二、摘要三、正文四、总结一、信息系统相关知识点 软考高级信息系统项目管理师系列之四十三:信息系统安全管理...
Softing dataFEED OPC Suite——助力数字孪生技术发展
一 行业概览 数字孪生技术是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。数字孪生技术已经应用在众多领域:…...
LLaMA中ROPE位置编码实现源码解析
1、Attention中q,经下式,生成新的q。m为句长length,d为embedding_dim/head θ i 1 1000 0 2 i d \theta_i\frac{1}{10000^\frac{2i}{d}} θi10000d2i1 2、LLaMA中RoPE源码 import torchdef precompute_freqs_cis(dim: int, end: i…...
在c++ 20下使用微软的proxy库替代传统的virtual动态多态
传统的virtual动态多态,经常会有下面这样的使用需求: #include <iostream> #include <vector>// 声明一个包含virtual虚函数的基类 struct shape {virtual ~shape() {}virtual void draw() 0; };// 派生,实现virtual虚函数 str…...
Spring MVC:@RequestMapping
Spring MVC RequestMapping属性 RequestMapping RequestMapping, 是 Spring Web 应用程序中最常用的注解之一,主要用于映射 HTTP 请求 URL 与处理请求的处理器 Controller 方法上。使用 RequestMapping 注解可以方便地定义处理器 Controller 的方法来处…...
【vue3+ts项目】配置eslint校验代码工具,eslint+prettier+stylelint
1、运行好后自动打开浏览器 package.json中 vite后面加上 --open 2、安装eslint npm i eslint -D3、运行 eslint --init 之后,回答一些问题, 自动创建 .eslintrc 配置文件。 npx eslint --init回答问题如下: 使用eslint仅检查语法&…...
PHP之ZipArchive打包压缩文件
1、Linux 安装 nginx 安装zlib库 2、使用,目前我这边的需求是。 1、材料图片、单据图片,分别压缩打包到“材料.zip”和“单据.zip”。 2、“材料.zip”和“单据.zip”在压缩打包到“订单.zip” 3、支持批量导出多个订单的图片信息所有订单的压缩文件&…...
商城移动端网站开发/东莞网站推广大全
引子 今年开始,我在翻译一本大部头的,比较经典的的Python进阶书籍。 有空就翻译几页。这本书不仅是教你很多进阶的Python的语法,更重要的是讲解很多设计方法和设计思想。 这些方法和思想,一点点叠加起来,就会让你从…...
湖南企业网站制作公司/网络营销的基本内容有哪些
它是一个可以完成工作的简约编辑器,并以隐藏的增强功能使得事情更简单。来源:https://linux.cn/article-12933-1.html作者:Seth Kenlon译者:geekpi(本文字数:1972,阅读时长大约:3 分…...
wordpress百家号插件/长沙建站seo公司
7、此时,设备类型我们选择“TCP/IP 设备”,主机名或 IP 地址我们输入 Windows XP 系统的电脑的 IP 地址,然后选择“下一步”。最后,系统就会自动查找局域网中 IP 地址为你填入的 IP 的电脑是否连接有共享的打印机,如果…...
wordpress手动加水印/seo网站诊断
客户端 接收用户希望给某个其它在线用户聊天的内容。将消息构建成 Message 对象,通过对应的 socket 发送给服务器在他的线程(通信线程中),读取到发送的 message 消息,并显示即可 服务端 可以读取到客户端发送给某个客户的消息从管理线程的…...
做个商城网站要多少钱/杭州推广系统
问题截图: 添加#include<sys/mman.h>头文件可解决’PROT_WRITE’、‘MAP_SHARED’、未定义的问题。 现在还剩O_RDRW未定义的问题。 我再想想吧 先(~ ~) 这问题出现的原因是对应库文件的缺失,添加相应的库文件即可,但是我查了查资料后…...
装修案例/搜索引擎优化的英文
开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方法参考文章: (1)开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方…...