当前位置: 首页 > news >正文

p2p网上贷款网站建设方案泉州建站平台

p2p网上贷款网站建设方案,泉州建站平台,企业网站推广总结,wordpress没有登录按钮1. 什么是模拟算法? 官方一点来说 模拟算法(Simulation Algorithm)是一种通过模拟现实或抽象系统的运行过程来研究、分析或解决问题的方法。它通常涉及创建一个模型,模拟系统中的各种事件和过程,以便观察系统的行为&a…

1. 什么是模拟算法?

官方一点来说

模拟算法(Simulation Algorithm)是一种通过模拟现实或抽象系统的运行过程来研究、分析或解决问题的方法。它通常涉及创建一个模型,模拟系统中的各种事件和过程,以便观察系统的行为,收集数据并得出结论。这类算法适用于复杂的系统,其中涉及许多相互作用的元素和随时间变化的状态。

通俗来说

我们只需要对照题目,提取出对应的流程,将这个流程转换成代码。需要注意的是, 我们要在草稿纸上过一遍流程,不然很容易出问题。

2. 应用实例

1. 替换所有的问号

题目链接:1576. 替换所有的问号 - 力扣(LeetCode)

解析:分析一下这道题目,我们大致可以遍历一遍数组,在‘?’处从‘a’~‘z’挑选一个合适的字符替换该位置,代码如下

class Solution 
{
public:string modifyString(string s) {int n = s.size();for (int i = 0; i < n; i++){if (s[i] == '?'){for (char c = 'a'; c <= 'z'; c++){// 如果?在0位默认前面是符合要求的,最后一位同理if ((i == 0 || c != s[i-1]) && (i == n-1 || c != s[i+1]))s[i] = c;}}}return s;}
};

2. 提莫攻击

题目链接:495. 提莫攻击 - 力扣(LeetCode)

解析:分析题目,我们可以知道每次提莫攻击时,都会重置中毒时间,因此我们只需要计算一下两个攻击的间隔时间,若小于duration就加上这个间隔时间,若大于等于则加上duration即可,即

这之后由于最后一段中毒时间没有统计上去,直接加上即可,代码如下

class Solution 
{
public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int time = 0, n = timeSeries.size();for (int i = 1; i < n; i++){int del = timeSeries[i] - timeSeries[i-1];if (del >= duration) time += duration;else time += del; }return time + duration;}
};

3. Z字型变换

题目链接:6. Z 字形变换 - 力扣(LeetCode)

解析:分析这道题目,我们可以知道整个字符串s会被排列成numrows行,仔细观察可以发现所有的下标均满足下面的变化规律:0 -> numRows-1 -> 0 ->numRows-1,我们可以对下标的变化进行模拟,即设定一个flag表示当前下标向下还是向上移动,移动到边界时将i与flag修改成正确值,同时创建一个<int, string>的哈希表来储存每行字符串,最后遍历一遍哈希表即可(注:这里需要对numRows为1做特殊情况处理),代码如下

class Solution 
{
public:string convert(string s, int numRows) {if (numRows == 1) return s;int n = s.size();unordered_map<int, string> hash;string ret;int i = 0, flag = 1;// flag为1表示向下移动for (auto& ch : s){if (i == numRows) flag = 0, i -= 2;if (i == -1) flag = 1, i += 2;hash[i] += ch;if (flag) i++;else i--;}for (int i = 0; i < numRows; i++) ret += hash[i];return ret;}
};

4. 外观数组

题目链接:38. 外观数列 - 力扣(LeetCode)

解析:分析题目,我们可以发现这道题的意思是让我们每次描述前一个字符串,因此我们只需要创建一个临时字符串s即可,然后每次统计描述之后更新s即可,代码如下

class Solution 
{
public:string countAndSay(int n) {string s = "1";while (--n){string pre = s;string now;int num = 0;for (int left = 0, right = 0; right < pre.size(); right++){if (pre[left] != pre[right]) {now += to_string(num) + pre[left];left = right;num = 1;}else num++;}now += to_string(num)+ pre.back();s = now;}return s;}
};

http://www.yayakq.cn/news/109259/

相关文章:

  • 网站开发指什么百度灰色关键词代发
  • 佟年为韩商言做的网站常用知名购物网站
  • 做网站用vs关于做网站的了解点
  • 做鲜榨果汁店网站中国建设会计网站
  • 东莞哪里建设网站好诱导网站怎么做
  • 云南网站建设熊掌号太原广告设计公司
  • 动漫网站源码免费wordpress禁止访问模版页面
  • 怎样做视频上网站赚钱新的网站做淘宝客
  • 广州网站开发怎么做中文域名有哪些网站
  • 网站备案幕布大小网站设计评分标准
  • 怎么做网站动态框郑州市网站设计公司哪个好
  • 乌兰察布做网站wordpress用户数据表
  • 塔城市建设局网站外贸网站建设 义乌
  • 济南专业网站制作wordpress速度优化版
  • 公众号模板汕头seo服务
  • 2015年做哪些网站致富wordpress escattr
  • 手机网官网湘潭seo 推广快湘潭磐石网络
  • 建设银行手机银行银行下载官方网站体育新闻
  • 工信部网站备案批准文件网站顶部固定怎么做
  • 住房和城乡建设部贰级建造师网站电商需要多少投入
  • 如何模板建站移动的网络网站建设
  • 广州大型网站设计公司长链接怎么弄成短链接
  • 织梦后台生成网站地图用数据库做网站
  • 手机制作网站app网站被屏蔽怎么访问
  • 鹤壁专业做网站多少钱泉州市住房和乡村建设网站
  • 网站设计制作报价图片欣赏如何做到精准客户推广
  • 科技类网站怎么做哈尔滨百度搜索排名优化
  • 阿里云虚拟主机多网站中美军事最新消息
  • 爱站seo网络使用x86架构的通用设备代替
  • 网站常识门户wordpress主题下载