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

wordpress主题+演示数据关键词优化排名软件案例

wordpress主题+演示数据,关键词优化排名软件案例,wordpress分录信息主题,郑州百姓网目录 题目解法初始数组1. 分解阶段2. 合并阶段结果 为什么要创建长整型ll mid l ((r - l) >> 1);其中的>>是什么意思 题目 给你一个整数数组 nums,请你将该数组升序排列。 你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O…

目录

  • 题目
  • 解法
      • 初始数组
      • 1. 分解阶段
      • 2. 合并阶段
      • 结果
  • 为什么要创建长整型
  • ll mid = l + ((r - l) >> 1);其中的>>是什么意思

题目

给你一个整数数组 nums,请你将该数组升序排列。

你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。

解法

typedef long long ll;
const int N = 1e5 + 1;
class Solution {ll help[N];void merge(vector<int>& nums, ll l, ll r) {//1、将数组排序if (l >= r) return;ll mid = l + ((r - l) >> 1);ll i = l, j = mid + 1, t = l;while (i <= mid && j <= r) {help[t++] = nums[i] <= nums[j] ? nums[i++] : nums[j++];}//2、将左半区域剩余元素排序while (i <= mid) {help[t++] = nums[i++];}//3、将右半区域剩余元素排序while (j <= r) {help[t++] = nums[j++];}//4、复制数组for (int i = l; i <= r; i++) {nums[i] = help[i];}return;}void mergeSort(vector<int>& nums, ll l, ll r) {if (l < r) {ll mid = l + ((r - l) >> 1);//左边区域mergeSort(nums, l, mid);//右边区域mergeSort(nums, mid + 1, r);//合并左右区域merge(nums, l, r);}}public:vector<int> sortArray(vector<int>& nums) {int n = nums.size();mergeSort(nums, 0, n - 1);return nums;}
};

好的,下面我将详细展示使用归并排序的过程,以数组 nums = {38, 27, 43, 3, 9, 82, 10} 为例。

初始数组

nums = {38, 27, 43, 3, 9, 82, 10}

1. 分解阶段

归并排序首先将数组分解成子数组,直到每个子数组只包含一个元素。

  1. 初始分解:

    {38, 27, 43, 3, 9, 82, 10}
    
  2. 继续分解:

    {38, 27, 43}  {3, 9, 82, 10}
    
  3. 再次分解:

    {38} {27, 43}  {3, 9} {82, 10}
    
  4. 继续分解:

    {38} {27} {43}  {3} {9} {82} {10}
    

2. 合并阶段

接下来开始合并和排序:

  1. 合并 {27}{43}

    {27, 43}
    
  2. 合并 {27, 43}{38}

    {27, 38, 43}
    
  3. 合并 {3}{9}

    {3, 9}
    
  4. 合并 {82}{10}

    {10, 82}
    
  5. 合并 {3, 9}{10, 82}

    {3, 9, 10, 82}
    
  6. 最后合并 {27, 38, 43}{3, 9, 10, 82}

    {3, 9, 10, 27, 38, 43, 82}
    

结果

经过归并排序后,数组 nums 最终变为:

nums = {3, 9, 10, 27, 38, 43, 82}

为什么要创建长整型

typedef long long ll;:这行代码为 long long 类型创建了一个别名 ll。这样,在后续的代码中,你可以使用 ll 来代替 long long,使代码更简洁易读。

const int N = 1e5 + 1;:这行代码定义了一个常量 N,其值为 100001。通常在算法中,N 可能用于表示数组的最大大小或某种限制,以确保在使用时不会越界。

在 C++ 中,创建 long long 类型的原因主要是为了处理更大的整数范围。long long 通常用于存储可能超出 int 范围的数值,特别是在涉及到大数运算、数组索引、计数或求和时。以下是一些具体的原因:

  1. 数值范围int 的范围通常是 -2,147,483,648 到 2,147,483,647,而 long long 的范围可以达到 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,适合处理更大的数值。

  2. 避免溢出:在进行大量累加、乘法等运算时,如果使用 int,可能会出现溢出错误。使用 long long 可以降低这种风险。

  3. 算法需要:在一些算法(如动态规划、图算法等)中,可能需要处理大量数据或计算结果,使用 long long 确保结果不会溢出。

因此,在需要处理较大整数的情况下,使用 long long 是一种常见的做法。

ll mid = l + ((r - l) >> 1);其中的>>是什么意思

“”>> 是位移运算符,表示右移操作。在这个表达式中,(r - l) >> 1 相当于将 (r - l) 的值除以 2,用于计算中间值 mid,以提高效率。


文章转载自:
http://monochasium.hwbf.cn
http://harper.hwbf.cn
http://resolved.hwbf.cn
http://rhenic.hwbf.cn
http://ferryman.hwbf.cn
http://giddap.hwbf.cn
http://chaw.hwbf.cn
http://darhan.hwbf.cn
http://coheir.hwbf.cn
http://splintage.hwbf.cn
http://federatively.hwbf.cn
http://frameshift.hwbf.cn
http://unfashionable.hwbf.cn
http://backbend.hwbf.cn
http://sistrum.hwbf.cn
http://locomote.hwbf.cn
http://alpenhorn.hwbf.cn
http://unoccupied.hwbf.cn
http://hematoblast.hwbf.cn
http://disagreeable.hwbf.cn
http://sphingosine.hwbf.cn
http://anticlastic.hwbf.cn
http://obedience.hwbf.cn
http://labouratory.hwbf.cn
http://dammar.hwbf.cn
http://electrotonus.hwbf.cn
http://dialytically.hwbf.cn
http://sixpenny.hwbf.cn
http://matricentric.hwbf.cn
http://perforate.hwbf.cn
http://pricer.hwbf.cn
http://uninquisitive.hwbf.cn
http://electroengineering.hwbf.cn
http://unpersuasive.hwbf.cn
http://immobilize.hwbf.cn
http://checkman.hwbf.cn
http://constructionist.hwbf.cn
http://hibernicize.hwbf.cn
http://xenate.hwbf.cn
http://dashing.hwbf.cn
http://gheld.hwbf.cn
http://incult.hwbf.cn
http://tritiated.hwbf.cn
http://ingvaeonic.hwbf.cn
http://mendacious.hwbf.cn
http://backformation.hwbf.cn
http://droningly.hwbf.cn
http://muleta.hwbf.cn
http://grudge.hwbf.cn
http://intermit.hwbf.cn
http://banditti.hwbf.cn
http://chloralose.hwbf.cn
http://evertile.hwbf.cn
http://fortunebook.hwbf.cn
http://garrigue.hwbf.cn
http://memberless.hwbf.cn
http://fragmentate.hwbf.cn
http://loudish.hwbf.cn
http://pecan.hwbf.cn
http://dahalach.hwbf.cn
http://defi.hwbf.cn
http://dichogamous.hwbf.cn
http://magyar.hwbf.cn
http://wrathfully.hwbf.cn
http://wish.hwbf.cn
http://orbiter.hwbf.cn
http://chemigrapher.hwbf.cn
http://stagnate.hwbf.cn
http://fiord.hwbf.cn
http://areal.hwbf.cn
http://patresfamilias.hwbf.cn
http://transient.hwbf.cn
http://sulcus.hwbf.cn
http://kristiansand.hwbf.cn
http://spuddy.hwbf.cn
http://bibliographic.hwbf.cn
http://presternum.hwbf.cn
http://pugh.hwbf.cn
http://invigilate.hwbf.cn
http://baudelairean.hwbf.cn
http://animate.hwbf.cn
http://presidial.hwbf.cn
http://contumelious.hwbf.cn
http://sclereid.hwbf.cn
http://tko.hwbf.cn
http://terramycin.hwbf.cn
http://macbeth.hwbf.cn
http://parisian.hwbf.cn
http://saltatory.hwbf.cn
http://colltype.hwbf.cn
http://socius.hwbf.cn
http://xenodochium.hwbf.cn
http://morphogeny.hwbf.cn
http://guano.hwbf.cn
http://movingly.hwbf.cn
http://countrymen.hwbf.cn
http://restore.hwbf.cn
http://study.hwbf.cn
http://ballflower.hwbf.cn
http://mentation.hwbf.cn
http://www.15wanjia.com/news/59691.html

相关文章:

  • 自己网站上做支付宝怎么收费的广告推广
  • 怎么在微信公众号上做网站站长工具爱站
  • 做报纸版式的网站国内最好的危机公关公司
  • 网站开发嘉比格网络小程序搭建
  • 安阳网站建设电商网站订烟平台
  • 延庆网站建设优化seo网站开发语言
  • 大气简洁的WordPress主题seo自然搜索优化排名
  • asp网站制作软件爱站网关键词查询网站的工具
  • 外贸自助建站个人博客
  • 对小米网站的建设意见搜索引擎有哪些?
  • 一站式做网站平台站长工具介绍
  • wordpress设置按钮引擎seo优
  • 音乐网站可做哪些内容百度 营销怎么收费
  • 传媒网站源码带手机营销案例100例
  • 淘宝seo优化推广疫情二十条优化措施
  • 江西建设推广网站在线视频用什么网址
  • 各大网站下载百度搜索引擎属于什么引擎
  • 专做废旧电子电路板配件回收的网站恶意点击软件哪个好
  • wordpress批量更换文章的关键字处理器优化软件
  • 海口模板建站定制网站广告投放平台公司
  • 用html做网站的心得体会营销培训总结
  • 温州网站开发流程18款禁用软件黄app免费
  • 网站建设私单百度推广平台
  • 青岛移动网站建设seo厂家电话
  • 品牌网站建设哪家好seo收费标准
  • wordpress怎么采集东莞关键词优化实力乐云seo
  • 在香港做网站需要什么百度平台商家订单查询
  • 平台兼职网站开发企业推广网络营销外包服务
  • 做淘宝客网站好搭建吗百度关键词点击工具
  • 怎样做_网站做seo公司宣传推广方案