学习网站后台维护中国空间站什么时候建成

web/2025/10/3 7:05:29/文章来源:
学习网站后台维护,中国空间站什么时候建成,网站建设论文设计,武威网站制作公司哪个好作者推荐 视频算法专题 本文涉及知识点 数学 回溯 字符串 性能优化 LeetCode1307. 口算难题 给你一个方程#xff0c;左边用 words 表示#xff0c;右边用 result 表示。 你需要根据以下规则检查方程是否可解#xff1a; 每个字符都会被解码成一位数字#xff08;0 - …作者推荐 视频算法专题 本文涉及知识点 数学 回溯 字符串 性能优化 LeetCode1307. 口算难题 给你一个方程左边用 words 表示右边用 result 表示。 你需要根据以下规则检查方程是否可解 每个字符都会被解码成一位数字0 - 9。 每对不同的字符必须映射到不同的数字。 每个 words[i] 和 result 都会被解码成一个没有前导零的数字。 左侧数字之和words等于右侧数字result。 如果方程可解返回 True否则返回 False。 示例 1 输入words [“SEND”,“MORE”], result “MONEY” 输出true 解释映射 ‘S’- 9, ‘E’-5, ‘N’-6, ‘D’-7, ‘M’-1, ‘O’-0, ‘R’-8, ‘Y’-‘2’ 所以 “SEND” “MORE” “MONEY” , 9567 1085 10652 示例 2 输入words [“SIX”,“SEVEN”,“SEVEN”], result “TWENTY” 输出true 解释映射 ‘S’- 6, ‘I’-5, ‘X’-0, ‘E’-8, ‘V’-7, ‘N’-2, ‘T’-1, ‘W’-‘3’, ‘Y’-4 所以 “SIX” “SEVEN” “SEVEN” “TWENTY” , 650 68782 68782 138214 示例 3 输入words [“THIS”,“IS”,“TOO”], result “FUNNY” 输出true 示例 4 输入words [“LEET”,“CODE”], result “POINT” 输出false 提示 2 words.length 5 1 words[i].length, results.length 7 words[i], result 只含有大写英文字母 表达式中使用的不同字符数最大为 10 回溯 简单的例子 AB AC BCD 10AB10AC 100B10CD 20A-99B -9C-D 0 系数20,-99,-9,-1 放到向量v中并排序。如果直接回溯时间复杂度1010超时。 将v排序从后到前处理。处理v[i]先估算v[0,i)的最小值iMin和最大值iMax如果已有值xiMin 0或 xiMax 0则剪枝忽略。 求最小值 如果存在负数最小的负数绝对值最大对应最大的未选择值。如果存在正数最大的正数取最小的未选择数。 求最大值 如果存在负数最小的负数绝对值最大对应最小的未选择值。如果存在正数最大的正数取最大的未选择数。 代码 核心代码超时 class Solution { public:bool isSolvable(vectorstring words, string result) {unordered_mapchar, int mCharCnt; unordered_mapchar, bool mCharNot0;//开头不能为0auto Add [](int iMul, const string s){for (int i s.length() - 1; i 0; i--, iMul*10){mCharCnt[s[i]] iMul;}if (s.length() 1){mCharNot0[s[0]] true;}};for (const auto s : words){Add(1, s);}Add(-1, result);vectorpairint,int v;for (const auto [tmp, cnt] : mCharCnt){v.emplace_back(cnt,mCharNot0[tmp]);}sort(v.begin(), v.end());setint setSel;for (int i 0; i 10; i){setSel.emplace(i);}return DFS(v, setSel, 0, 0);}templateclass Print MinMax(const pairint, int*p, int n, setint,Pr setSel){int result 0;for (int i 0; i ! n;){if (p[i].first 0){result *setSel.begin()*p[i].first;setSel.erase(setSel.begin());}else{result *setSel.rbegin()*p[--n].first;setSel.erase(std::prev(setSel.end()));}}return result;}bool DFS(const vectorpairint,int v, setint setSel, int leve, int result){if (v.size() leve){return 0 result;}const int iMin MinMax(v.data()leve, v.size()-leve, setint, std::greaterint(setSel.begin(), setSel.end()));const int iMax MinMax(v.data() leve, v.size() - leve, setSel);if ((iMin result 0) || (iMax result 0)){return false;}for (int i 9; i v[leve].second; i--){if (!setSel.count(i)){continue;}setSel.erase(i); if (DFS(v, setSel, leve 1, result v[leve].first * i)){return true;}setSel.emplace(i);}return false;} };测试用例 templateclass T,class T2 void Assert(const T t1, const T2 t2) {assert(t1 t2); }templateclass T void Assert(const vectorT v1, const vectorT v2) {if (v1.size() ! v2.size()){assert(false);return;}for (int i 0; i v1.size(); i){Assert(v1[i], v2[i]);}}int main() {vectorstring words;string result;{Solution sln;words { A,B }, result A;auto res sln.isSolvable(words, result);Assert(true, res);}{Solution sln;words { CBA,CBA,CBA,CBA,CBA }, result EDD;auto res sln.isSolvable(words, result);Assert(false, res);}{Solution sln;words { SEND, MORE }, result MONEY;auto res sln.isSolvable(words, result);Assert(true, res);}{Solution sln;words { SIX, SEVEN, SEVEN }, result TWENTY;auto res sln.isSolvable(words, result);Assert(true, res);}{Solution sln;words { THIS, IS, TOO }, result FUNNY;auto res sln.isSolvable(words, result);Assert(true, res);}{Solution sln;words { LEET, CODE }, result POINT;auto res sln.isSolvable(words, result);Assert(false, res);} }估算最小值最大值 pairint,int MinMaxSingle(const pairint, int* p, int n) {int less0 0, more0 0;for (int i 0; i n ; i ){if (p[i].first 0){less0 p[i].first;}else{more0 p[i].first;}}return { less0 * 9,more0 * 9 }; }可以提升一倍还是过不了。 一for循环也可以省略。 二向量变原生数组。 这两个方法效果很小。 class Solution { public:bool isSolvable(vectorstring words, string result) {unordered_mapchar, int mCharCnt; unordered_mapchar, bool mCharNot0;//开头不能为0auto Add [](int iMul, const string s){for (int i s.length() - 1; i 0; i--, iMul*10){mCharCnt[s[i]] iMul;}if (s.length() 1){mCharNot0[s[0]] true;}};for (const auto s : words){Add(1, s);}Add(-1, result);pairint, int v[10];int less0 0, more0 0;for (const auto [tmp, cnt] : mCharCnt){v[m_c] { cnt,mCharNot0[tmp] }; if (cnt 0){less0 cnt;}else{more0 cnt;}}sort(v, vm_c);setint setSel;for (int i 0; i 10; i){setSel.emplace(i);}return DFS(v, setSel, 0, 0,more0,less0);}bool DFS(const pairint, int* p, setint setSel, int leve, int result,int more0,int less0){if (m_c leve){return 0 result;}if ((less0*9 result 0) || (more0*9 result 0)){return false;}for (int i 9; i p[leve].second; i--){if (!setSel.count(i)){continue;}setSel.erase(i); const int curLess0 min(0, p[leve].first);const int curMore0 max(0, p[leve].first);if (DFS(p, setSel, leve 1, result p[leve].first * i,more0curMore0,less0curLess0)){return true;}setSel.emplace(i);}return false;} int m_c 0; };先处理绝对值大的 速度提升大约1000倍。 class Solution { public:bool isSolvable(vectorstring words, string result) {unordered_mapchar, int mCharCnt; unordered_mapchar, bool mCharNot0;//开头不能为0auto Add [](int iMul, const string s){for (int i s.length() - 1; i 0; i--, iMul*10){mCharCnt[s[i]] iMul;}if (s.length() 1){mCharNot0[s[0]] true;}};for (const auto s : words){Add(1, s);}Add(-1, result);pairint, int v[10];int less0 0, more0 0;for (const auto [tmp, cnt] : mCharCnt){v[m_c] { cnt,mCharNot0[tmp] }; if (cnt 0){less0 cnt;}else{more0 cnt;}}sort(v, v m_c, [](const auto pr1, const auto pr2) {return abs(pr1.first) abs(pr2.first); });setint setSel;for (int i 0; i 10; i){setSel.emplace(i);}return DFS(v, setSel, 0, 0,more0,less0);}bool DFS(const pairint, int* p, setint setSel, int leve, int result,int more0,int less0){if (m_c leve){return 0 result;}if ((less0*9 result 0) || (more0*9 result 0)){return false;}for (int i 9; i p[leve].second; i--){if (!setSel.count(i)){continue;}setSel.erase(i); const int curLess0 min(0, p[leve].first);const int curMore0 max(0, p[leve].first);if (DFS(p, setSel, leve 1, result p[leve].first * i,more0-curMore0,less0-curLess0)){return true;}setSel.emplace(i);}return false;} int m_c 0; };扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快 速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关 下载 想高屋建瓴的学习算法请下载《喜缺全书算法册》doc版 https://download.csdn.net/download/he_zhidan/88348653 我想对大家说的话闻缺陷则喜是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。如果程序是一条龙那算法就是他的是睛 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用**C**实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云南省网站备案网站开发信息发布

Thread类中的yeild方法有什么作用 谦让机制:Thread.yield()方法主要用于实现线程间的礼让或谦让机制。当某个线程执行到yield()方法时,它会主动放弃当前已获得的CPU执行权,从运行状态(Running)转变为可运行状态&#…

中介网站模板长沙3合1网站建设公司

车辆工程计算机编程:深度探索与未来挑战 随着科技的不断进步,车辆工程领域与计算机编程的交融日益紧密,为行业发展注入了新的活力。然而,对于许多人来说,车辆工程计算机编程究竟学什么,仍是一个充满困惑和…

架设销售网站免费网站安全软件大全

Django模型入门 为了能够学会使用Django模型,本节通过构建一个实际的Django模型来帮助读者尽快入门。 3.2.1 定义模型 既然Django模型实现了ORM功能,那么它就是对数据库实例的描述和实现。下面,我们通过一个简单的实例进行讲解。 如果需…

定制型网站我要学习网站建设

1 问题 我们平时用gitlab,github发现提交代码上库记录写错了,需要修改回来。 2 解决办法

网站开发女生工资公司网站二维码生成器

大家好,我是烤鸭:windows下配置nginx的目的就是要本地跟线上环境尽量保持一致。1. 下载官网下载地址 http://nginx.org/en/download.html我这里用的是nginx-1.13.0,看一下目录结构2. nginx关闭脚本 这里的nginx-killer就…

源码怎么做网站临沂seo建站

1 再谈print和import1.1 打印多个参数print 能够同时打印多个表达式,并且能自定义分隔符。如下:print(a,b,c)  ——> a b cprint(a,b,c,sep"_")  ——> a_b_c1.2 import导入模块时,能够给导入的模块取一个别名(相对于生活…

电子商务怎样建立网站的无法运行电脑wordpress

一、钢筋原材1、钢筋表面出现黄色浮锈,严重转为红色,日久后变成暗褐色,甚至发生鱼鳞片剥落现象。图片原因保管不良,受到雨雪侵蚀,存放期长,仓库环境潮湿,通风不良。防 治 措 施1、钢筋原料应存放…

建立门户网站的程序android应用市场下载安装

一款支持Swoole的开源内容管理框架,基于ThinkPHP5.1开发,同时支持PHP-FPM和Swoole双模式,让WEB开发更快!主要特性更改框架协议为MIT,让你更自由地飞基于ThinkPHP 5.1重构,但核心代码兼容5.0版本,保证老用户最小升级成本…

东莞北京网站建设价格知名的wordpress主题

前言: 在现实的学习任务中,环境 其中的转移概率P,奖赏函数R 是未知的,或者状态X也是未知的 称为免模型学习(model-free learning) 目录: 1: 蒙特卡洛强化学习 2:同策略-蒙特卡洛强化学习 3&am…

临沂网站制作企业企业公司信息网

gwt格式由于多种原因 ,许多GWT用户放弃了RPC机制,这是GWT提供的调用后端的标准方法。 他们发现,在GWT RequestBuilder与其他可能不适合其应用程序模型的外部库之间迷失了自己。 这篇文章的目的是要通过GWT中众所周知的HTTP / Rest库来尝试使情…

北京品牌网站北京学生聚集

java内存泄漏和内存溢出总览 术语“内存泄漏”在Java中的使用方式不同于在其他语言中使用的方式。 通用术语中的“内存泄漏”是什么意思,在Java中如何使用? 维基百科的定义 当计算机程序消耗内存但无法将其释放回操作系统时,就会发生计算机科…

谷歌网站管理员账号永久网站

正则表达式中的前瞻和后顾。 前瞻(Lookahead) 前瞻是一种断言,它会检查在当前位置之后是否存在某种模式,但不会实际匹配该模式。前瞻有两种形式: 正向前瞻 (?pattern) 检查当前位置之后是否存在指定的模式如果存在,则匹配成功,但不会消耗该模式例如 \w(?\d) 将匹配后面跟数…

php网站开发实施方案广州模板建站哪家好

这个问题中的两个数字,都是超出范围的,所以就不能简单的把两个数字,转为Number类型,进行相加。 需要取两个数字的每一位,进行相加,大于10,就进1,把结果保存在一个字符串中。 主要思路…

简单网站页面wordpress 水墨

文章目录 HTTP协议GET请求POST请求QT中对HTTP协议的处理1.QNetworkAccessManager2.QNetworkRequest3.QNetworkReply QT实现GET请求和POST请求Get请求步骤Post请求步骤 测试结果 使用QT的开发产品最终作为一个客户端来使用,很大的一个功能就是要和后端服务器进行交互…

建网站浩森宇特深圳网络优化培训

Apollo(阿波罗)配置中心: 采用分布式架构,它能够集中管理不同环境、不同集群的配置,配置修改后能够实时推送到应用端,有可视化界面 和 规范的权限,支持 版本管理、灰度发布、监控 等功能。 主要…

苏州城乡和住房建设局网站首页网页登录页面设计模板

Docker 的image是运行的基本.例如我们build一个image时, 在Dockerfile每条指令会产生一个可读写的image, 下一条指令使用上一条指令产生的image为基础, 继续产生image(然后删除上一个image), 如果指令没有对image有修改的动作, 那么可以使用image cache. 所有的指令执行完, 生成…

站长工具查询网织梦统计网站访问量代码

ASC竞赛五大高校计算机专业的实力主要体现在算法与编程的逻辑运算上,因此计算机专业必须掌握大量基础数学知识,甚至很多是离散数学、模糊数学等人工智能逻辑数学,简单的程序软件应用和O2O程序实现其实都不是计算机专业实力的体现,…

网站建设环境搭建心得体会宣传册排版

本文用到的白程序回复公众号20231211进行获取。 嗯… 记得去年HW的时候某信服给我装的EDR一直没卸载,不是不想卸载,是因为卸载要密码,所以就摆烂了。。。。 找到EDR这个目录,然后把目录复制到虚拟机中,然后一个一个e…

企业集团网站建设方案网络营销策略的内涵

1 巧用标记位和For循环遍历 您可以使用一个 Map<String, List<xxx>> 类型的数据结构来根据手机号分组并保存多条线索。然后&#xff0c;可以按照以下方式进行操作&#xff1a; 1. 设置一个标志位&#xff0c;比如一个布尔变量&#xff0c;用于记录是否已经成功推…

教育品牌网站建设南充建网站的资料

在 Xunit 中使用依赖注入Intro之前写过一篇 xunit 的依赖注入相关的文章&#xff0c;但是实际使用起来不是那么方便今天介绍一个基于xunit和微软依赖注入框架的“真正”的依赖注入使用方式 ——— Xunit.DependencyInjection, 来自大师的作品&#xff0c;让你在测试代码里使用依…