学习网站后台维护网站开发过程阶段

bicheng/2026/1/24 9:29:21/文章来源:
学习网站后台维护,网站开发过程阶段,php搭建wordpress,公司注册资金需要多少作者推荐 视频算法专题 本文涉及知识点 数学 回溯 字符串 性能优化 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/bicheng/87236.shtml

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

相关文章

郑州优化网站收费标准wordpress 超酷主题

点此进入官网,专家1对1:应用身份管理服务OneAccess_华为云IDaaS-华为云

网站横幅代码网站制作属于什么专业

文章目录 力扣题目工程代码C实现python实现 力扣题目 给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 ‘W’ 要么是 ‘B’ ,表示第 i 块的颜色。字符 ‘W’ 和 ‘B’ 分别表示白色和黑色。 给你一个整数 k ,表示想要 连…

靖江建设行业协会网站淘客优惠券推广网站怎么做

实时时钟RTC是一个独立的定时器。RTC模块拥有一个连续计数的计数器,在软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。 在掉电情况下 RTC仍可以独立运行 只要芯片的备用电源…

网站的后台怎么做app营销策略有哪些

横、纵表 定义 横表定义:一个对象的所有属性在一行,列的定义是对象的各个字段 举例:学生成绩表 姓名 Java C语言 ​ 张三 100 88 纵表定义:一个对象的所有属性被分配到多行,列的定义是对象的字段和字段的值 举例…

视频广告联盟平台排名优化工具下载

一、事件与处理 程序在运算过程中发生的一些事情:鼠标单击、键盘的按下... 这些的事件的监控与处理在Qt中不是以信号的方式处理的。 当这些事件发生时会调用QObject类中的功能函数(虚函数),所有的控件类都继承了这个类。 常用的鼠…

铜川做网站的公司上海装修公司排名前20

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 网康下一代防火墙(NGFW)是一款可以全面应对应用层威胁的高性能防火墙。通过深入洞察网络流量中的用户、应用和内容,并…

淘宝网客网站建设网站开发和软件开发

今天学习Makefile预定义变量的使用,加qq:1126137994.微信:liu1126137994一起学习更多技术!!! 1.预定义变量:自动变量 在Makefile中存在一些预定义过的变量,我们可以直接拿来使用而…

平面网站设计网站备案域名更改

手搓反激电源 | 五、反激高频变压器的设计与计算 先上干货,变压器设计规格书 千里之行,积于跬步,万里之船,成于罗盘 A journey of thousands of miles accumulates in steps, and the ship of thousands of miles becomes a compass 反激式变换操作 反激式变换器的…

酷炫网站首页WordPress里h1跟p有什么

大家有没有想过这个问题:软件测试中有哪些误区呢?想起这个题目,是因为最近遇到好几次关于这方面的讨论。发觉即便做过几年测试的老员工也或多或少有些这方面的困惑。当然一家之言,仅作抛砖引玉之谈。 误区一:测试就是…

学做网站论坛 可以吗个人网站开发赚钱方向

​2023年12月13日,北京玻色量子科技有限公司(以下简称“玻色量子”)联合上海交通大学在中科院分区1区、计算化学领域Top刊物JCTC(Journal of Chemical Theory and Computation)内刊的封面上发表了以“Encoding Molecul…

妇联加强网站平台建设高端网站改版顾问

目录 一、面向过程和面向对象初步认识 二、类的引入和定义 2.1类的引入 2.2类的定义 三、类的访问限定符及封装 3.1访问限定符 3.2封装 四、类的作用域 五、类的实例化 六、类的对象大小的计算 6.1如何计算对象的大小 6.2类对象的存储方式 七、类成员函数的thi…

正规的丹阳网站建设邯郸市中小学健康管理平台登录

解析 绿题照样不会qwq 一开始的想法是按位分类讨论 辛辛苦苦码了七十行 然后发现当一次性需要进多位的时候就炸了 qwq 关键要考虑到一点:异或就是不进位的加法 所以考虑u和v的差值,设为d 将其二进制分解,然后就是让其在对应的位进位即可 后…

建设个人信息网站企业培训公司有哪些

TX Text Control 支持VISUAL STUDIO 2022、.NET 5 和 .NET 6 支持 .NET WPF 应用程序的文档处理 将文档编辑、创建和 PDF 生成添加到您的 WPF 应用程序中。 视窗用户界面 功能齐全的文档编辑器 TX Text Control 是一款完全可编程的丰富编辑控件,它在专为 Visual Stu…

网站怎么做百度权重做淘宝有没有店小秘类型的网站

在 macOS 上设置 Redis 密码的步骤与在其他操作系统上大致相同,关键是要找到并编辑 Redis 配置文件,然后重启 Redis 服务。以下是详细步骤: 找到 Redis 配置文件:如果你是通过 Homebrew 安装的 Redis,配置文件通常位于…

做百度推广首先要做网站吗设计之家图片

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所有的控件当中,除了label、edit、radio、combobox和button之外,另外一个用的比较多的控件就是grid,也可称之为…

网站建设购物商城专业网站运营设计

近年来,随着互联网发展,出现了各种各样的网站,web应用,网络极大方便了人们的生活,改变了人们生活方式。而随着网络的发展普及,网络安全问题也困扰着用户。 许多人都曾有过这样经历,网站上线后&…

兰州 网站建设公司哪家好电商网站有什么特点

这是我的ubutun版本号 在这个系统装桌面版微信很多功能不健全。搜索了很多方法,这个算是不错的一个法子。 1.添加仓库 首次使用时,你需要运行如下一条命令将移植仓库添加到系统中。 wget -O- https://deepin-wine.i-m.dev/setup.sh | sh 2.应用安装 …

网站的ftp怎么登陆成立一个公司需要多少钱

揭秘建筑类中级职称申报:是否能越过初级直接评审? 很多人想知道越过初级直接评审建筑类中级职称可以不? 关于越过初级职称/助理工程师直接申报建筑类中级职称,原则上是不行的,实际上分情况而定。如果你有二级建造师也…

可画在线设计网站制作游戏的软件app

随着新时代的到来,物联网和区块链技术的结合正在改变商业领域的运作模式。对于传统商家而言,如何利用区块链技术实现商业模式的转型和升级,成为了一个值得探讨的问题。本文将探讨新时代物联网区块链如何链接底层商业,并阐述传统商…

中国建设银行总行网站成都广告公司制作

方法 pthread_mutex_lock(mutex) pthread_mutex_trylock(mutex) pthread_mutex_unlock(mutex) 用法 线程可调用pthread_mutex_lock()来获取某个互斥量,如果该互斥量已经被其他线程加锁,则该线程将会被阻塞,直到互斥量被其他线程释放。 线程可调用pthread_mutex_trylock(…