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

专业网站建设包括哪些新app推广方案

专业网站建设包括哪些,新app推广方案,找公司做网站先付全款吗,建造师官网练习一:合并两个有序数组 1. 题目 2. 思路 将遍历后的数组存储在临时数组sorted中;使用双指针 p1、p2同时遍历两个数组;当p1等于nums1的size时,p1排序完成,从nums2中取元素;当p2等于nums2的size时&#x…

练习一:合并两个有序数组

1. 题目

 2. 思路

  • 将遍历后的数组存储在临时数组sorted中;
  • 使用双指针 p1、p2同时遍历两个数组;
  • 当p1等于nums1的size时,p1排序完成,从nums2中取元素;
  • 当p2等于nums2的size时,p2排序完成,从nums1中取元素;
  • 当p1、p2没遍历完,就比较两个数的大小,取较小的数;
  • 将当前比较出的最小值放入sorted数组的当前位置,并递增index
  • 将sorted拷贝到num1并复制数组

3. 代码

#include <vector>class Solution 
{
public:void merge(std::vector<int>& nums1, int m, std::vector<int>& nums2, int n) {int p1 = 0, p2 = 0; // 双指针分别指向两个数组的起始位置std::vector<int> sorted; // 存储排序完成后的数组sorted.resize(m + n); // 调整sorted的大小以容纳m+n个元素int cur; // 存储当前比较出的值int index = 0; // 新增索引用于记录sorted的位置// 遍历两个数组并排序while (p1 < m || p2 < n){// 当 p1 == m 时,nums1的所有元素已经处理完毕,从nums2中取元素if (p1 == m)cur = nums2[p2++]; // 取nums2中的当前元素,并移动p2指针// 当 p2 == n 时,nums2的所有元素已经处理完毕,从nums1中取元素else if (p2 == n)cur = nums1[p1++]; // 取nums1中的当前元素,并移动p1指针// p1、p2都没遍历完,就比较两个数的大小else if (nums1[p1] < nums2[p2])cur = nums1[p1++]; // 如果nums1的当前元素较小,则取nums1的当前元素,并移动p1指针else cur = nums2[p2++]; // 否则取nums2的当前元素,并移动p2指针sorted[index++] = cur; // 将当前比较出的最小值放入sorted数组的当前位置,并递增index}// 将sorted拷贝到num1for (int i = 0; i < m + n; ++i){nums1[i] = sorted[i]; // 将sorted数组中的每个元素复制到nums1中}

4. 错误总结

  1. 忘记包含头文件
  2. vector中部分函数使用方法不熟悉,需要复习

练习2:移除元素

1. 题目

2. 思路

初始化

  • 获取原数组 nums 的大小 size
  • 创建一个与原数组大小相同的临时数组 erased,用于存储不等于 val 的元素。
  • 初始化一个计数器 k,用于记录新数组的有效长度。

遍历原数组

  • 使用一个循环遍历原数组 nums 中的每一个元素。
  • 对于每个元素,检查其是否等于 val

条件判断

  • 如果当前元素不等于 val,将其赋值给临时数组 erased 中的第 k 个位置,并将 k 增加 1。
  • 如果当前元素等于 val,则跳过该元素,继续下一个元素的检查。

替换原数组

  • 使用 swap 方法将原数组 nums 的内容替换为临时数组 erased 的内容。

返回结果

  • 返回计数器 k 的值,表示移除后的数组的新长度。

3. 代码

#include <vector>class Solution 
{
public:int removeElement(std::vector<int>& nums, int val) {int slow = 0; // 慢指针,指向新数组的末尾位置for (int fast = 0; fast < nums.size(); ++fast) // 快指针,遍历原数组{if (nums[fast] != val) // 如果当前元素不等于目标值val{nums[slow] = nums[fast]; // 将当前元素放到慢指针的位置++slow; // 增加慢指针的位置}}return slow; // 返回新数组的有效长度}
};

4. 错误总结

  • 一次过

练习3:删除有序数组的重复项

1. 题目

 

2. 思路

  • 初始化

    • 首先检查数组是否为空。如果为空,直接返回 0。
    • 使用一个慢指针 j,初始值为 0,用于记录新数组的末尾位置。
  • 遍历数组

    • 使用一个快指针 i,从 0 开始遍历数组 nums
  • 条件判断

    • 对于每个元素 nums[i],检查其是否与 nums[j] 相等。
    • 如果 nums[i] 不等于 nums[j],说明遇到了一个新的唯一元素:
    • 将 nums[i] 赋值给 nums[j+1],并将慢指针 j 增加 1。
    • 如果 nums[i] 等于 nums[j],则跳过该元素,继续下一个元素的检查。
  • 返回结果

    • 最终 j + 1 的值即为移除后的数组的新长度。

3. 代码

#include <vector>class Solution 
{
public:int removeDuplicates(std::vector<int>& nums) {if (nums.empty()) return 0; // 如果数组为空,直接返回0int j = 0; // 慢指针,指向新数组的末尾位置for (int i = 0; i < nums.size(); ++i) // 快指针,遍历原数组{if (nums[i] != nums[j]) // 如果当前元素不等于慢指针所指的元素{nums[++j] = nums[i]; // 将当前元素放到慢指针的下一个位置,并移动慢指针}}return j + 1; // 返回新数组的有效长度}
};

4. 错误总结

  • 一次过
http://www.dtcms.com/wzjs/187907.html

相关文章:

  • 深圳做网站公司多少钱志鸿优化网
  • 江苏省建设厅网站建造师栏如何在百度推广自己的产品
  • 在一起做网店的网站的怎么购买seo网站快速排名软件
  • ps做网站首页设计教程个人怎么做百度竞价
  • 怎么建设大型商务网站免费做网站怎么做网站吗
  • 90设计官方网站做网页设计的软件
  • 做旅游网站百度知道合伙人
  • flash网站系统seo是怎么优化的
  • 有专门做ppt的网站吗宁波seo网络推广代理公司
  • 物流公司网站建设模板宣传广告
  • 工业做网站点击宝seo
  • 工商局网站怎么做增项头条广告入口
  • 重庆网站优化seo公司链爱交易平台
  • 怎样开网站品牌推广策略分析
  • 网站开发与应用是什么seo搜索引擎优化培训班
  • 建设银行四川分行 招聘网站销售推广的方法都有哪些
  • php网站目录系统最近热搜新闻事件
  • 上海 网站制作流量大的推广平台有哪些
  • 网站页面一般做多大东莞推广系统
  • 南阳旅游网站建设百度搜索入口网址
  • 广东建设中标网站免费行情软件网站下载
  • 渭南市建设工程有限责任公司网络优化网站
  • 凡科免费建设企业网站靠谱吗西安市网站
  • 企业网站一般用什么程序做360优化大师官方网站
  • 如何做网站?种子搜索神器 bt 下载
  • 南开做网站公司2022年热点营销案例
  • 湖南常德市人民政府网百度竞价和优化的区别
  • 玉环做网站有哪些太原seo快速排名怎么样
  • 汪峰做的音乐网站seo公司服务
  • 群辉做网站服务器最新国际军事动态