Leetcode hot100 (day 8,9)
爬楼梯
做法一:小斐波那契数列,只要注意记忆化递归即可
class Solution {
public:int dp[50];int climbStairs(int n) {if(dp[n])return dp[n];if(n==2){return dp[2]=2;}if(n==1){return dp[1]=1;}//if(dp[n])return dp[n];return dp[n]=climbStairs(n-1)+climbStairs(n-2);}
};
做法二:动态规划,使用滚动数组即可
class Solution {
public:int climbStairs(int n) {int l,m,r;r=1,l=0,m=0;for(int i=1;i<=n;i++){l=m;m=r;r=l+m;}return r;}
};
杨辉三角
相加 注意判断边界
class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ret(numRows);for(int i=0;i<numRows;i++){ret[i].resize(i+1);ret[i][0]=ret[i][i]=1;for(int j=1;j<i;j++)ret[i][j]=ret[i-1][j]+ret[i-1][j-1];}return ret;}
};
打家劫舍
做法:动态规划,dp[n]=max(dp[n-1],dp[n-2]+nums[n])。并且要注意,要先判断nums的大小,不然赋值dp[1]的时候会出现错误。可以用滚动数组
class Solution {
public:int rob(vector<int>& nums) {if(nums.size()==1)return nums[0];vector<int> dp=vector<int>(nums.size(),0);dp[0]=nums[0];dp[1]=max(nums[0],nums[1]);for(int i=2;i<nums.size();i++)dp[i]=max(dp[i-2]+nums[i],dp[i-1]);return dp[nums.size()-1];}
};
完全平方数
做法:动态规划
class Solution {
public:int numSquares(int n) {vector<int> f(n+1);for(int i=1;i<=n;i++){int minn=INT_MAX;for(int j=1;j*j<=i;j++){minn=min(minn,f[i-j*j]);}f[i]=minn+1;}return f[n];}
};
零钱兑换
做法一:记忆化搜索,每个递归都列举所有硬币,向下搜索,amount为0返回0,如果小于0,返回-1,也就是不成功。要注意记忆化,不然会超时
class Solution {
public:vector<int>count;int dp(vector<int>&coins,int amount){if(amount<0)return -1;if(amount==0)return 0;if(count[amount]){return count[amount];}int Min=INT_MAX;for(int coin:coins){int res=dp(coins,amount-coin);if(res>=0)Min=min(res+1,Min);}count[amount]=Min==INT_MAX?-1:Min;return count[amount];}int coinChange(vector<int>& coins, int amount) {if(amount==0)return 0;count.resize(amount+1);return dp(coins,amount);}
};
做法二:动态规划dp,其实和前面差不多
class Solution {
public:int coinChange(vector<int>& coins, int amount) {vector<int>dp(amount+1,INT_MAX-10);dp[0]=0;for(int i=1;i<=amount;i++){for(int coin:coins){if(coin<=i)dp[i]=min(dp[i],dp[i-coin]+1);}}return dp[amount]>=INT_MAX-10?-1:dp[amount];}
};
单词拆分
做法:动态规划,先用哈希存储word,后续查找为O(1),随后用dp思想即可
class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> word;for(auto dic:wordDict) word.insert(dic);vector<int>dp(s.size()+1);dp[0]=1;for(int i=1;i<=s.size();i++){for(int j=0;j<i;j++){if(dp[j]&&word.find(s.substr(j,i-j))!=word.end()){dp[i]=1;break;}}}return dp[s.size()];}
};
最长递增子序列
做法一:动态规划。这里学习到了max_element min_element,返回数组或者vector中最大最小值,加*为值
class Solution {
public:int lengthOfLIS(vector<int>& nums) {vector<int> dp(nums.size(),0);for(int i=0;i<nums.size();i++){dp[i]=1;for(int j=0;j<i;j++){if(nums[j]<nums[i])dp[i]=max(dp[i],dp[j]+1);}}return *max_element(dp.begin(),dp.end());}
};
做法二:这个有点不好理解,再试试把。优化时间复杂度为O(nlogn)
class Solution {
public:int lengthOfLIS(vector<int>& nums) {int len=1,n=nums.size();vector<int> d(n+1,0);d[len]=nums[0];for(int i=1;i<n;i++){if(nums[i]>d[len])d[++len]=nums[i];else{int l=1,r=len,pos=0;while(l<=r){int mid=(l+r)>>1;if(d[mid]<nums[i]){pos=mid;l=mid+1;}else{r=mid-1;}}d[pos+1]=nums[i];}}return len;}
};
乘积最大子数组
做法:动态规划。不同的是,要保持一个最大值和最小值,因为如果当前数字为负数,那么说不定前面有负数的情况更大
class Solution {
public:int maxProduct(vector<int>& nums) {long maxF=nums[0],minF=nums[0],ans=nums[0];for(int i=1;i<nums.size();i++){long mx=maxF,mn=minF;maxF=max(maxF*nums[i],max((long)nums[i],mn*nums[i]));minF=min(mn*nums[i],min((long)nums[i],mx*nums[i]));ans=max(maxF,ans);}return ans;}
};
分割等和数组
做法:动态规划 dp[i][j],前i+1个数字,满足和为j为true。这样推上来即可
class Solution {
public:bool canPartition(vector<int>& nums) {int n=nums.size();if(n<2)return false;int sum=0,maxnum=0;for(auto &num:nums){sum+=num;maxnum=max(maxnum,num);}if(sum&1)return false;int target=sum/2;if(maxnum>target)return false;vector<int> dp(target+1,0);dp[0]=true;for(int i=0;i<n;i++){int num=nums[i];for(int j=target;j>=num;j--)dp[j]|=dp[j-num];}return dp[target];}
};
最长有效括号
做法一:动态规划,当前为i,如果s[i]==‘(’,那么必然dp[i]=0,如果为')',那么肯定要接着考虑前一位,如果为'(',dp[i]=dp[i-2]+2;如果为')',那么就需要考虑i-dp[i-1]-1是否大于0,以及s[i-dp[i-1]-1]是否为'(',如果是的话还要加上dp[i-dp[i-1]-2]
class Solution {
public:int longestValidParentheses(string s) {int maxans=0,n=s.size();vector<int> dp(n,0);for(int i=1;i<n;i++){if(s[i]==')'){if(s[i-1]=='('){dp[i]=(i>=2?dp[i-2]:0)+2;}else if(i-dp[i-1]>0&&s[i-dp[i-1]-1]=='('){dp[i]=dp[i-1]+((i-dp[i-1])>=2?dp[i-dp[i-1]-2]:0)+2;}maxans=max(maxans,dp[i]);}}return maxans;}
};
做法二:栈
class Solution {
public:int longestValidParentheses(string s) {int maxans=0;stack<int> stk;stk.push(-1);for(int i=0;i<s.size();i++){if(s[i]=='('){stk.push(i);}else{stk.pop();if(stk.empty()){stk.push(i);}else{maxans=max(maxans,i-stk.top());}}}return maxans;}
};
最长有效路径
做法一:动态规划,f[i][j]=f[i-1][j]+f[i][j-1],同时要注意边界,由于第i行的状态只和第i-1行以及i行有关,所以可以用一维数组来滚动即可
class Solution {
public:int uniquePaths(int m, int n) {vector<int> f(n,1);for(int i=1;i<m;i++){for(int j=1;j<n;j++)f[j]+=f[j-1];}return f[n-1];}
};
做法二:高中组合数
class Solution {
public:int uniquePaths(int m, int n) {long long ans=1;for(int x=n,y=1;y<m;x++,y++){ans=ans*x/y;}return ans;}
};
最小路径和
做法一:和前面一样,dp即可
class Solution {
public:int minPathSum(vector<vector<int>>& grid) {int rows=grid.size(),columns=grid[0].size();auto dp=vector<vector<int>>(rows,vector<int>(columns));dp[0][0]=grid[0][0];for(int i=1;i<rows;i++){dp[i][0]=dp[i-1][0]+grid[i][0];}for(int j=1;j<columns;j++){dp[0][j]=dp[0][j-1]+grid[0][j];}for(int i=1;i<rows;i++){for(int j=1;j<columns;j++){dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j];}}return dp[rows-1][columns-1];}
};
最长回文子串
做法一:动态规划,逐步遍历子串长度,从L=2开始
class Solution {
public:string longestPalindrome(string s) {int len=s.length();if(len<2)return s;int maxlen=1;int begin=0;vector<vector<bool>>dp(len,vector<bool>(len));for(int i=0;i<len;i++){dp[i][i]=true;}for(int L=2;L<=len;L++){for(int i=0;i<len;i++){int j=L+i-1;if(j>=len)break;if(s[i]!=s[j])dp[i][j]=false;else{if(j-i<3){dp[i][j]=true;}else{if(j-i<3){dp[i][j]=true;}else{dp[i][j]=dp[i+1][j-1];}}if(dp[i][j]&&j-i+1>maxlen){maxlen=j-i+1;begin=i;}}}}return s.substr(begin,maxlen);}
};
做法二:中心扩展,对于每个位置,都看能否扩展
class Solution {
public:pair<int,int> expand(const string& s,int left,int right){while(left>=0&&right<s.size()&&s[left]==s[right]){left--;right++;}return {left+1,right-1};}string longestPalindrome(string s) {int start=0,end=0;for(int i=0;i<s.size();i++){auto [left1,right1]=expand(s,i,i);auto [left2,right2]=expand(s,i,i+1);if(right1-left1>end-start){start=left1;end=right1;}if(right2-left2>end-start){start=left2;end=right2;}}return s.substr(start,end-start+1);}
};
最长公共子序列
做法:动态规划
class Solution {
public:int longestCommonSubsequence(string text1, string text2) {int m=text1.size(),n=text2.size();vector<vector<int>> dp(m+1,vector<int>(n+1));for(int i=1;i<=m;i++){char c1=text1[i-1];for(int j=1;j<=n;j++){char c2=text2[j-1];if(c1==c2)dp[i][j]=dp[i-1][j-1]+1;else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}return dp[m][n];}
};
编辑距离
做法:dp
class Solution {
public:int minDistance(string word1, string word2) {int n=word1.size();int m=word2.size();if(n*m==0)return n+m;vector<vector<int>> dp(n+1,vector<int>(m+1));for(int i=0;i<n+1;i++)dp[i][0]=i;for(int j=0;j<m+1;j++)dp[0][j]=j;for(int i=1;i<n+1;i++){for(int j=1;j<m+1;j++){int left=dp[i-1][j]+1;int down=dp[i][j-1]+1;int left_down=dp[i-1][j-1];if(word1[i-1]!=word2[j-1])left_down+=1;dp[i][j]=min(left,min(down,left_down));}}return dp[n][m];}
};
燃尽了。希望越来越好
相关文章:
Leetcode hot100 (day 8,9)
爬楼梯 做法一:小斐波那契数列,只要注意记忆化递归即可 class Solution { public:int dp[50];int climbStairs(int n) {if(dp[n])return dp[n];if(n2){return dp[2]2;}if(n1){return dp[1]1;}//if(dp[n])return dp[n];return dp[n]climbStairs(n-1)clim…...
LinuxSocket套接字编程
1.介绍函数使用 1.创建套接字 int socket(int domain, int type, int protocol); domain:指定协议族,如AF_INET(IPv4)或AF_INET6(IPv6)。 type:指定套接字类型,如SOCK_DGRAM&#…...
青少年编程考试 CCF GESP Python五级认证真题 2025年3月
Python 五级 2025 年 03 月 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 A A A B D B A D A D C A A D B 1 单选题(每题 2 分,共 30 分) 第 1 题 链表不具备的特点是( )。 A. 可随机访问任何一个元素 B. 插入、删除操作不需要移动元素 C…...
Java-对比两组对象找出发生变化的字段工具-支持枚举映射-支持时间-支持显示对应字段中文描述-嵌套list等场景
实体字段比较器(对比两组对象找出发生变化的字段工具类开发) 支持枚举映射 支持时间 支持显示对应字段中文描述 支持嵌套list等场景 下载地址: Java-对比两组对象找出发生变化的字段工具-支持枚举映射-支持时间-支持显示对应字段中文描述-嵌…...
电影舆情分析可视化平台管理端实现
电影舆情分析可视化平台管理端实现 系统概述 本系统的用户主要有三类,游客、普通用户以及电影从业人员。 面向游客和普通用户的是电影网站,系统提供一个便捷的平台,供普通用户搜索和了解电影的基本信息,支持电影预告片播放&…...
【Linux】进程信号(下)
在上一篇中,我们详细探讨了信号的预备知识和产生方式(如硬件异常、终端输入、kill命令、系统调用等)及其背后的操作系统行为。信号作为进程间异步通信的核心机制,其生命周期远不止“产生”这一环节——信号的保存与处理才是实现可…...
华为数字芯片机考2025合集2已校正
单选 1. 题目内容 关于亚稳态的描述错误的是( )。 1. 解题步骤 1.1 理解亚稳态(Metastability)的核心特性 亚稳态是指触发器无法在指定时间内稳定输出有效逻辑电平(0或1)的状态,其关键特点…...
【大模型微调】如何解决llamaFactory微调效果与vllm部署效果不一致如何解决
以下个人没整理太全 一、生成式语言模型的对话模板介绍 使用Qwen/Qwen1.5-0.5B-Chat训练 对话模板不一样。回答的内容就会不一样。 我们可以看到例如qwen模型的tokenizer_config.json文件,就可以看到对话模板,一般同系列的模型,模板基本都…...
基于视觉语言模型的机器人实时探索系统!ClipRover:移动机器人零样本视觉语言探索和目标发现
作者:Yuxuan Zhang 1 ^{1} 1, Adnan Abdullah 2 ^{2} 2, Sanjeev J. Koppal 3 ^{3} 3, and Md Jahidul Islam 4 ^{4} 4单位: 2 , 4 ^{2,4} 2,4佛罗里达大学电气与计算机工程系RoboPI实验室, 1 , 3 ^{1,3} 1,3佛罗里达大学电气与计算机工程系F…...
Java常用工具算法-6--秘钥托管云服务AWS KMS
前言: 之前我们介绍了一些常用的加密算法(如:对称加密AES,非对称加密RSA,ECC等),不论是哪一种都需要涉及到秘钥的管理。通常的做法都是把秘钥放到配置文件中进行配置,但是对于一些高…...
Shell脚本的学习
编写脚本文件 定义以开头:#!/bin/bash #!用来声明脚本由什么shell解释,否则使用默认shel 第一步:编写脚本文件 #!/bin/bash #注释 echo "这是输出" 第二步:加上执行权限:chmod x 脚本文件名.sh 第三步&…...
Java——pdf增加水印
文章目录 前言方式一 itextpdf项目依赖引入编写PDF添加水印工具类测试效果展示 方式二 pdfbox依赖引入编写实现类效果展示 扩展1、将inputstream流信息添加水印并导出zip2、部署出现找不到指定字体文件 资料参考 前言 近期为了知识库文件导出,文件数据安全处理&…...
Redis过期key处理、内存淘汰策略与缓存一致性策略实践方案
在现代的高性能应用开发中,Redis作为一款极为热门的内存数据库,其快速的读写性能和丰富的数据结构使其在缓存、消息队列等诸多领域得到了广泛应用。然而,在实际使用过程中,处理好Redis过期key、选择合适的内存淘汰策略以及确保缓存…...
深入 C++ 线程库:从创建到同步的探索之旅
C在<thread>中定义了C线程库. 创建多线程 #include <iostream> #include <thread> using namespace std; void show(int id, int count) { //线程函数for (int i 0; i < count; i) {cout << "id:" << id << ",值:&qu…...
LangChain使用大语言模型构建强大的应用程序
LangChain简介 LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互ÿ…...
程序化广告行业(72/89):Tag Manager系统代码操作与行业发展剖析
程序化广告行业(72/89):Tag Manager系统代码操作与行业发展剖析 大家好!在技术领域不断探索的过程中,我深刻体会到知识共享的重要性。写这篇博客,就是希望能和大家一起深入了解程序化广告行业,…...
数据结构实验3.3:求解迷宫路径问题
文章目录 一,问题描述二,基本要求三,算法分析(一)整体思路(二)详细步骤1. 输入迷宫大小并生成迷宫2. 定义走步规则3. 深度优先搜索(DFS)4. 输出结果 (三&…...
基于SpringBoot的线上历史馆藏系统【附源码】
基于SpringBoot的线上历史馆藏系统(源码L文说明文档) 4 系统设计 系统在设计的过程中,必然要遵循一定的原则才可以,胡乱设计是不可取的。首先用户在使用过程中,能够直观感受到功能操作的便利性,符合…...
Mybatis的springboot项目使用
删除数据 & 占位符 一般常用占位符进行数据库操作,也就是预编译sql。 在UserMapper中定义删除接口 /** 根据id删除用户*/ Delete("delete from user where id #{id}") void deleteById(Integer id);若想要获取返回值,声明为Integer (s…...
网站集群批量管理-Ansible剧本与变量
复盘内容:链接指北 查看ansible命令文档 ansible-doc -s systemd一、剧本 何为剧本: playbook 文件,用于长久保存并且实现批量管理,维护,部署的文件. 类似于脚本存放命令和变量 剧本yaml格式,yaml格式的文件:空格,冒号. 剧本未来我们批量管理,运维必会的内容. …...
HOW - React Developer Tools 调试器
目录 React Developer Tools使用Components 功能特性1. 查看和编辑 props/state/hooks2. 查找组件3. 检查组件树4. 打印组件信息5. 检查子组件 Profiler 功能特性Commit ChartFlame Chart 火焰图Ranked Chart 排名图 why-did-you-render 参考文档: React调试利器&a…...
Spring Cloud Alibaba微服务治理实战:Nacos+Sentinel深度解析
一、引言 在微服务架构中,服务发现、配置管理、流量控制是保障系统稳定性的核心问题。Spring Cloud Netflix 生态曾主导微服务解决方案,但其部分组件(如 Eureka、Hystrix)已进入维护模式。 Spring Cloud Alibaba 凭借 高性能、轻…...
《AI换脸时代的攻防暗战:从技术滥用走向可信未来》
技术迭代图谱 过去五年里,Deepfake技术经历了飞速迭代,从最初的萌芽到如今的广泛应用和对抗措施形成。2017年前后,利用深度学习进行人脸换装的技术首次在社区中出现。一位Reddit网友昵称“deepfakes”,将名人面孔替换到色情影片上…...
25/4/9 算法笔记 DBGAN+强化学习+迁移学习实现青光眼图像去模糊1
整体实验介绍 实验主要是结合DBGAN对抗网络强化学习增强迁移学习增强实现青光眼图像去模糊。今天则是先完成了DBGAN板块模型的训练。 实验背景介绍 青光眼的主要特征有: 视盘形态与杯盘比CDR:青光眼患者主要表现为视杯扩大,盘沿变窄。 视…...
【Claude AI大语言模型连接Blender生成资产】Windows安装Blender MCP教程
前言 最近在学习资产制作,了解到了个好玩的东西,利用AI一步一步搭建资产: 上面这副图就是利用Claude AI调用Blender的Python接口一步一步实现的,挺丑但好玩。 安装教程 进入Github: Blender-MCP 网站,下载该项目&a…...
JSP运行环境安装及常用HTML标记使用
制作一个静态网站的基本页面index.html 实验代码:<form> <label for"username">用户名:</label> <input type"text" id"username" name"username"><br> <label for"password&…...
Git 的进阶功能和技巧
1、分支的概念和使用 1.1、什么是分支? 分支(Branch)是在版本控制中非常重要的概念。几乎所有版本控制系统都支持某种形式的分支。在 Git 中,分支是 Git 强大功能之一,它允许我们从主开发线分离出来,在不…...
WSL1升级到WSL2注意事项
今天要在WSL上安装docker,因为机器上安装了wsl1,docker安装后启动不了,通过询问deepseek发现docker只能在wsl2上安装,因此就想着将本机的wsl1升级到wsl2。 确保你的 Windows 系统是 Windows 10(版本 1903 及以上&…...
392. 判断子序列
https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150因为是子序列我们只要关心后一个字符在前一个字符后面出现过就行,至于在哪出现出现几次我们不关心,所以我们可以用HashMap<Character, ArrayList<…...
在 VMware 中为 Ubuntu 24.04 虚拟机设置共享文件夹后,在虚拟机中未能看到共享的内容
在 VMware 中为 Ubuntu 24.04 虚拟机设置共享文件夹后,如果在虚拟机中未能看到共享的内容,可能是由于以下原因: VMware Tools 未正确安装:共享文件夹功能依赖于 VMware Tools 或 Open VM Tools。如果未安装或安装不完整࿰…...
台式电脑插入耳机没有声音或麦克风不管用
目录 一、如何确定插孔对应功能1.常见音频插孔颜色及功能2.如何确认电脑插孔?3.常见问题二、 解决方案1. 检查耳机连接和设备选择2. 检查音量设置和静音状态3. 更新或重新安装声卡驱动4. 检查默认音频格式5. 禁用音频增强功能6. 排查硬件问题7. 检查系统服务8. BIOS设置(可选…...
Windchill开发-WTContainer相关API整理
Windchill开发-WTContainer相关API整理 概述各容器对象相关方法站点容器组织容器产品容器/存储库容器上下文团队角色组 文件夹 方法汇总 概述 Windchill 的环境由一组容器组成,容器分为三级:第一级为站点容器,第二级为组织容器,第…...
理解JSON-RPC 2.0 协议
JSON-RPC 2.0是指一种基于 JSON 的远程过程调用协议,用于在网络上进行跨平台和跨语言的通信。它提供了一种简单、轻量级的方式来实现客户端和服务器之间的方法调用和数据交换。在原文中,JSON-RPC 2.0被用来描述 STDIO 传输机制中消息的格式,即…...
【 C# 使用 MiniExcel 库的典型场景】
以下是 C# 使用 MiniExcel 库的典型场景及代码示例: 一、基础读取操作 强类型读取(需定义数据模型类) 定义与 Excel 列名匹配的类后直接映射为对象集合: csharp Copy Code public class UserAccount { public int Id { get; …...
创建 Pod 失败,运行时报错 no space left on device?
遇到创建Pod失败并报错“no space left on device”时,请按照以下步骤排查和解决问题: 1. 定位问题来源 查看Pod事件: kubectl describe pod <pod-name> -n <namespace> 在输出中查找 Events 部分,确认错误是否与…...
[leetcode]查询区间内的所有素数
一.暴力求解 #include<iostream> #include<vector> using namespace std; vector<int> result; bool isPrime(int i) { if (i < 2) return false; for (int j 2;j * j < i;j) { if (i % j 0) { …...
【Web安全】如何在 CDN 干扰下精准检测 SSRF?Nuclei + Interactsh 实战
❤️博客主页: iknow181 🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 背景 在日常漏洞复核中,我们常用 DNSLog 平台判断目标是否存在 SSRF 漏洞:只要请…...
输入框只能输入非中文字符
在 Qt 中,可以通过设置输入法过滤器(QInputContext)或使用正则表达式来限制输入框(QLineEdit 或 QTextEdit)只能输入非中文字符。以下是两种实现方法: ### 方法 1:使用正则表达式 可以通过 QLi…...
LeeCode 136. 只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入࿱…...
Traefik应用:配置容器多个网络时无法访问问题
Traefik应用:配置容器多个网络时无法访问问题 介绍解决方法问题原因: **容器多网络归属导致 Traefik 无法正确发现路由规则**。解决方案方法 1:将应用容器 **仅连接** 到 traefik-public 网络方法 2:显式指定 Traefik 监听的网络 …...
超便捷超实用的文档处理工具,PDF排序,功能强大,应用广泛,无需下载,在线使用,简单易用快捷!
小白工具https://www.xiaobaitool.net/files/pdf-sort/ 中的 PDF 排序功能是一项便捷实用的文档处理服务,以下是其具体介绍: 操作便捷直观:用户上传 PDF 文件后,可通过直接拖动页面缩略图来调整顺序,就像在纸质文档中…...
zsh: command not found - 鸿蒙 HarmonyOS Next
终端中执行 hdc 命令抛出如下错误; zsh: command not found 解决办法 首先,查找到 DevEco-Studio 的 toolchains 目录路径; 其次,按照类似如下的文件夹层级结果推理到 toolchains 子级路径下,其中 sdk 后一级的路径可能会存在差异,以实际本地路径结构为主,直至找到 openharm…...
【动态规划】 深入动态规划—两个数组的dp问题
文章目录 前言例题一、最长公共子序列二、不相交的线三、不同的子序列四、通配符匹配五、交错字符串六、两个字符串的最小ASCII删除和七、最长重复子数组 结语 前言 问题本质 它主要围绕着给定的两个数组展开,旨在通过对这两个数组元素间关系的分析,找出…...
金融数据分析(Python)个人学习笔记(7):网络数据采集以及FNN分类
一、网络数据采集 证券宝是一个免费、开源的证券数据平台(无需注册),提供大盘准确、完整的证券历史行情数据、上市公司财务数据等,通过python API获取证券数据信息。 1. 安装并导入第三方依赖库 baostock 在命令提示符中运行&…...
指定运行级别
linux系统下有7种运行级别,我们需要来了解一下常用的运行级别,方便我们熟悉以后的部署环境,话不多说,来看. 开机流程: 指定数级别 基本介绍 运行级别说明: 0:关机 相当于shutdown -h now ⭐️默认参数不能设置为0,否则系统无法正常启动 1:单用户(用于找回丢…...
7.第二阶段x64游戏实战-string类
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:7.第二阶段x64游戏实战-分析人物属性 string类是字符串类,在计算机中…...
【MySQL基础】左右连接实战:掌握数据关联的完整视图
1 左右连接基础概念 左连接(left join)和右连接(right join)是MySQL中两种重要的表连接方式,它们与内连接不同,能够保留不匹配的记录,为我们提供更完整的数据视图。 核心区别: left join:保留左表所有记录,…...
建筑工程行业如何选OA系统?4大主流产品分析
工程行业项目的复杂性与业务流程的繁琐性对办公效率提出了极高要求。而OA 系统(办公自动化系统)的出现,为工程企业提供了一种全新的、高效的管理模式。 工程行业OA系统选型关键指标 功能深度:项目管理模块完整度、文档版本控制能…...
动态科技感html导航网站源码
源码介绍 动态科技感html导航网站源码,这个设计完美呈现了科幻电影中的未来科技界面效果,适合展示技术类项目或作为个人作品集的入口页面,自适应手机。 修改卡片中的链接指向你实际的HTML文件可以根据需要调整卡片内容、图标和颜色要添加更…...
CLIPGaze: Zero-Shot Goal-Directed ScanpathPrediction Using CLIP
摘要 目标导向的扫描路径预测旨在预测人们在搜索视觉场景中的目标时的视线移动路径。大多数现有的目标导向扫描路径预测方法在面对训练过程中未出现的目标类别时,泛化能力较差。此外,它们通常采用不同的预训练模型分别提取目标提示和图像的特征,导致两者之间存在较大的特征…...