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

家具网站建设规划书国内最好的搜索引擎

家具网站建设规划书,国内最好的搜索引擎,哪个网站支持接单做网页的,网站建设velpai文章目录前言题目解析算法原理字典序代码示例策略证明前言 题目的链接,大家可以先试着去做一下再来看一下思路。179. 最大数 - 力扣(LeetCode) 题目解析 还是老样子,把题目读懂,画出有用信息。 认真看示例&#xff0…

文章目录

  • 前言
  • 题目解析
  • 算法原理
    • 字典序
  • 代码示例
  • 策略证明

前言

题目的链接,大家可以先试着去做一下再来看一下思路。179. 最大数 - 力扣(LeetCode)

题目解析

还是老样子,把题目读懂,画出有用信息。

在这里插入图片描述

认真看示例,要好好去想一下,特殊示例的情况。

在这里插入图片描述

算法原理

在这里插入图片描述

字典序

插个小曲,介绍一下字典序。

  1. 概念:
    字典序(LexicographicalOrder),也称为词典序、字母序或词典顺序,是一种基于字符顺序的字符串比较方法。它类似于我们在字典中查找单词的顺序。
  2. 字符编码基础
    字典序依赖于字符的编码系统:
    ASCII:‘0’=48, ‘1’=49, …, ‘9’=57, ‘A’=65, ‘B’=66, …, ‘a’=97, ‘b’=98, …
    Unicode:包含更多字符,但数字和字母的顺序与ASCII一致。
  3. 比较规则
    字典序的核心规则是从左到右逐字符比较:

比较第一个字符: 如果字符不同,则根据字符的编码值(如ASCII或Unicode)决定顺序;编码值小的字符串排在前面 。
例一: “apple” vs “banana” → “apple” < “banana”(因为 ‘a’<‘b’);

如果第一个字符相同:比较第二个字符;依此类推,直到找到不同的字符。
例二:“dat” vs “dog” → “dat” < “dog”(因为’a’<‘o’)

所有字符都相同: 较短的字符串排在较长的字符串前面。
例三:“hello” vs “hell” → “hell” <“hello”(相同前缀,较短者优先)

  1. 示例解析

数字字符串比较:
“2” vs “10” → “10” < “2”(因为 ‘1’<‘2’)
“30” vs “4” → “30” <“4”(因为 ‘3’<‘4’)
“100” vs “2” → “100” < “2”(因为 ‘1’<‘2’)
混合比较:
“file9” vs “file10” → “file10” < “file9”(因为 ‘1’<‘9’)
“item2” vs “item10” → “item10” < “item2”(因为 ‘1’<‘2’)

  1. 在本代码中的应用
    在largestNumber算法中(largestNumber 算法通常指的是如何将一组非负整数重新排列,使得它们拼接后的数字是最大的。),我们使用字典序比较拼接后的字符串为什么有效呢。
//这行代码是自定义排序比较逻辑的核心,它决定了两个字符串在排序时的相对顺序。
//如果 s1 + s2 组成的字符串更大,返回 true,表示 s1 应该排在 s2 前面。
//如果 s2 + s1 更大,返回 false,表示 s2 应该排在 s1 前面。
return s1 + s2 > s2 + s1;

长度相等:s1+s2和s2+s1长度相同(len(s1)+len(s2))
字典序等价数值序:当两个数字字符串长度相同时,字典序大小关系等同于数值大小关系。

  1. 字典序与数值序的区别
比较方式“2” vs “10”“30” vs “4”“100” vs “2”
字典序“10” < “2”“30” < “4”“100” < “2”
数值序10 > 230 > 4100 > 2

字典序:基于字符编码从左到右比较.。
数值序:基于实际数值大小比较。

  1. 在算法中的重要性

在本问题中,使用字典序比较拼接字符串是高效的,因为:
避免了大数计算(拼接后可能超出整数范围) 。
利用字符串比较的内置优化。
当长度相同时,保持数值大小关系。

  1. 总结

字典序是一种基于字符编码顺序的字符串比较方法:
从左到右逐字符比较。
编码值小的字符排在前。
相同前缀时较短字符串排在前。
在等长数字字符串比较中等价于数值比较。

代码示例

class Solution {
public:string largestNumber(vector<int>& nums){//优化一下,把所有的整数转化为字符串,我们用字典序去比较,比直接转换整形比较好很多,vector<string> str;for(auto x : nums) str.push_back(to_string(x));//排序,拼接字符串,比较字典序。当两个数字字符串长度相同时,字典序大小关系等同于数值大小关系。//标准库的 sort 通常使用快速排序,这类比较排序算法的核心是通过多次比较和交换元素位置来达到有序。sort(str.begin(),str.end(),[](const string &s1, const string &s2){return s1 + s2 > s2 + s1;});//提取结果string ret;for(auto &s : str) ret += s;//特殊情况,数组中全是0不能返回"000...",应该返回"0"if(ret[0] == '0') return "0";return ret; }
};

策略证明

证明方法:全序关系

全序关系(Total Order)是指在一个集合X上,满足以下三个条件的二元关系:
完全性:对于集合中的任意两个元素a和b,要么a ≤ b,要么b ≤ a 。
反对称性:如果a ≤ b且b ≤ a,则a = b。
传递性:如果a ≤ b且b ≤ c,则a ≤ c。
全序关系也称为线性序或简单序。一个具有全序关系的集合称为全序集。
例如,实数集上的小于等于关系(≤)就是一个全序关系,因为任意两个实数都可以比较大小。

假设定义了集合{a,b,c,d,e,f,g},我从集合中任意挑选两个元素,如果这两个元素在你定义的比较规则下,满足全序关系的话,我们就说这个集合是可以排序的。
只要满足下面三个性质,就有全序关系。
1.完全性,2.反对称性,3.传递性

我们接下来就要去证明我们算法原理中的自定义排序是否有效。
在这里插入图片描述

http://www.dtcms.com/wzjs/57539.html

相关文章:

  • 怎么推广自己做的网站吗2020国内搜索引擎排行榜
  • 重庆网站查询广告软文营销平台
  • 健身网站怎么做爱站网关键词密度
  • 湖南做网站成人技术培训学校
  • 简要说明网站建设的步骤权重查询入口
  • 颍泉网站建设百度推广基木鱼
  • 四川公司网站建设招标怎么做一个网站平台
  • 旅游网站建设首选赢旅动力seo裤子的关键词首页排名有哪些
  • 怎么用centos做网站国际军事新闻今日头条
  • 山东川畅科技做网站多少钱线上平台怎么推广
  • 云南新冠疫情最新动态长沙网站seo收费标准
  • 网站建设需要的条件软文写作的技巧
  • 国外炫网站我想做个网站怎么做
  • html网站模板免费下载广州seo公司
  • asp动态网站建设百度关键词优化企业
  • 百度做网站教程sem竞价推广托管代运营公司
  • 如何做建筑一体化的网站建站合肥网络公司seo
  • wordpress dome.php宁波网站排名优化seo
  • 基于p2p的网站建设产品seo怎么优化
  • 网站建设服务费下什么科目超八成搜索网站存在信息泄露问题
  • 做ppt的模板网站有哪些长春网站搭建
  • 厦门专业做网站的公司网站运营推广
  • 信用门户网站建设太原百度公司地址
  • 男女做的那个真实的视频网站网站搜索排优化怎么做
  • asp网站开发教程pdf识图找图
  • 中石油网页设计与网站建设建立一个网站的费用
  • 鹤壁人民医院网站谁做的金阊seo网站优化软件
  • 瑞安网站seo技术 快速网站排名
  • 企业可以做网站的类型东莞网站推广宣传
  • 农安建设局网站今日要闻 最新热点