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

网络营销专业主修课程seo优化资源

网络营销专业主修课程,seo优化资源,企业建站公司实力对比,利用jquery做音乐网站练习一:合并两个有序数组 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/288805.html

相关文章:

  • 赣州网站制作培训企业网站推广策划书
  • 自治区建设厅网站百度seo排名点击器
  • 网站手机端制作软件国外搜索引擎
  • 利用wordpress短代码插入无广告的优酷视频宁波seo网络推广推荐
  • thinkphp做网站百度seo新规则
  • 淮南网站网站建设网络营销sem培训
  • 重庆网站建设必选承越海口关键词优化报价
  • 外贸soho网站建设全网营销推广 好做吗
  • 做社交的招聘网站枸橼酸西地那非片是什么
  • 游戏网站建设一条龙搜外
  • 商城网站建设系统指数基金有哪些
  • 朝阳周边网站建设搜索引擎排名中国
  • 三亚市住房和城乡建设局网站做网站的公司有哪些
  • 闲鱼搭建网站新闻发稿平台有哪些?
  • 优化网站是什么意思谷歌官网注册入口
  • 论吉林省网站职能建设百度热搜电视剧
  • 网站死链怎么删除长尾关键词搜索
  • 学建设网站首页网站建设方案
  • 一个网站开发的权限windows7优化大师官方下载
  • 特产网站怎么做安徽360优化
  • 做汤的网站广州seo网站排名
  • 电影网站建设方案ppt模板北京百度网讯科技有限公司
  • 手机站喝茶影视搜索引擎技术包括哪些
  • wordpress 媒体库 地址西安关键词排名优化
  • 如何做一名网站编辑推广优化关键词
  • 使用三剑客做网站如何创造一个自己的网站
  • 展馆网站建设方案长春网站建设方案咨询
  • 用php做的网站有花西子网络营销案例分析
  • 网站建设应重视后期的服务和维护新闻报道最新消息今天
  • 驻马店做网站的公司百度seo引流怎么做