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

网站建设春节放假锦州网站seo

网站建设春节放假,锦州网站seo,山东省通信管理局 对于经营性网站的认定,中山企业网站推广🧡🧡遇到的问题🧡🧡 在用vue3ts编写编译原理项目中”绘制状态转换图“时,有一个添加状态的功能按钮,用户点击按钮即可添加一个新的状态,至于新的状态的编号值,想着以”最小未被使用…

🧡🧡遇到的问题🧡🧡

在用vue3+ts编写编译原理项目中”绘制状态转换图“时,有一个添加状态的功能按钮,用户点击按钮即可添加一个新的状态,至于新的状态的编号值,想着以”最小未被使用的编号“为准则,即

  • 若已存在0,1,2,3等编号,则新添加的编号应为4
  • 若已存在0,1,3,4等编号,则新添加的编号应为2
    在这里插入图片描述

🧡🧡主要思路🧡🧡

1.很直接很简单思路,直接暴力枚举

  // 暴力法找到最小的未被使用的编号let newNumber = 0;for (let i = 0; i < usedNumbers.length; i++) {if (usedNumbers[i] !== i) {newNumber = i;break;}newNumber = i + 1; // 如果所有编号都被使用,则使用下一个编号}console.log(usedNumbers)

2.后面经过思索,发现是一个有序序列,好在之前学习过二分算法,很快就联想到了

  // 二分查找最小的未被使用的编号let left = 0;let right = usedNumbers.length;while (left < right) {const mid = Math.floor((left + right) / 2);if (usedNumbers[mid] === mid) { // 说明 0 到 mid 都被使用left = mid + 1;} else {right = mid;}}const newNumber = left;

解释:

  • 给定0,1,2,3,5,6,7
  • 初始 left = 0, right=7 (注意这里left、right、mid都表示的数组下标,而非数组值
  • 第一轮 mid=3,从而有 useNumbers[3[ == 3,表明从left=0到mid=3是连续的,因此”最小未被使用“编号肯定不是这left=0到mid=3的区间,因此重置下一轮left = mid + 1 = 3 + 1 = 4
  • left=4, right=7
  • 第二轮 mid=5,从而有 useNumbers[5] = 6 !== 5,表明数组下标从left=4到mid=5是不连续的,因此”最小未被使用“编号可能存在于这区间之中,因此重置下一轮right = mid = 5
  • 以此类推。。。

🧡🧡其他细节🧡🧡

因为编号是用户可以手动修改的,可能会有编号为空或者编号含非数字字符等情况,因此需要在获取当前已使用的编号时,去除掉其中非数字编号。
在这里插入图片描述

  // 提取所有已使用的编号// 过滤非数字 + 去重 + 排序const usedNumbers = Array.from(new Set(getNodes.value.map(node => {const num = Number(node.data.text)// console.log(num)return isNaN(num)? null : num}).filter((num): num is number => num!== null))) // 显式断言num is number.sort((a,b)=> a-b)

这里在使用sort()函数时曾遇到了小bug:当添加状态的编号>10时,下次添加会是2.
原因

  • 编号采用的是string类型
  • js的sort函数默认是按照ACSII+字典序来排序的
http://www.dtcms.com/wzjs/199995.html

相关文章:

  • 做网站时随便弄上去的文章怎么删掉百度知道官网登录入口
  • 订餐网站的数据库建设windows优化大师官方免费下载
  • 减少网站跳出率推广产品的渠道
  • wordpress代码分割优化大师 win10下载
  • 广告宣传单页制作郑州seo培训班
  • 卖机器的网站怎么做杭州seo推广排名稳定
  • 卫计委社会信用体系建设网站优化系统软件
  • 做搜狗手机网站优化点网站建设流程是什么
  • 微网站制作公司网站自动提交收录
  • 音乐网站模板下载谷歌官方app下载
  • h5作品网站福州短视频seo获客
  • 怎样可以免费做网站口碑营销案例及分析
  • ipv6地址可以做网站吗百度指数是搜索量吗
  • 网站建设 上市公司痘痘该如何去除效果好
  • 福州响应式网站中文域名交易平台
  • 免费wap网站制作网络营销的效果是什么
  • 多合一网站建设吸引人气的营销方案
  • 网站建设困难吗百度链接收录
  • 昆山城市建设网站项目平台
  • 销售做网站网站收录量
  • win10做网站服务器百度账户推广登陆
  • 网站维护与建设考试深圳百度推广seo公司
  • 太原有哪些做网站的公司谷歌搜索引擎在线
  • 网站开发框架的工具京东关键词优化技巧
  • 网站建设学费多少钱产品免费推广网站有哪些
  • 聊城网站建设方案网络营销的类型有哪些
  • 杭州电子商务网站开发山东百搜科技有限公司
  • 永康企业网站建设公司建站系统源码
  • 凡科建站怎么删除模块建个网站费用多少
  • 网店代运营排行惠东seo公司