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

建设部监理工程师报考网站佛山网站优化什么价格

建设部监理工程师报考网站,佛山网站优化什么价格,网站系统建设合同,百度百度一下官网文章目录 前言一、41. 缺失的第一个正数(HOT100)二、6. 从尾到头打印链表(剑指Offer)总结 前言 一个本硕双非的小菜鸡,备战24年秋招,计划刷完hot100和剑指Offer的刷题计划,加油! 根…

文章目录

  • 前言
  • 一、41. 缺失的第一个正数(HOT100)
  • 二、6. 从尾到头打印链表(剑指Offer)
  • 总结


前言

一个本硕双非的小菜鸡,备战24年秋招,计划刷完hot100和剑指Offer的刷题计划,加油!
根据要求,每一道题都要写出两种以上的解题技巧。

一、41. 缺失的第一个正数(HOT100)

41. 缺失的第一个正数
Note:原地哈希
首先将数组中所有小于等于 0 或大于size 的数修改为 size+1;
遍历数组,开始做标记。如果 ∣x∣∈[1,size],那么给数组中的第 ∣x∣−1 个位置的数添加一个负号。
在遍历完成之后,如果数组中的每一个数都是负数,那么答案是 size +1,否则答案是第一个正数的位置加 1

class Solution {
public:int firstMissingPositive(vector<int>& nums) {int size = nums.size();if (find(nums.begin(), nums.end(), 1) == nums.end())return 1;for (int i = 0; i < size; i++) {if (nums[i] <= 0 || nums[i] > size)nums[i] = 1;}for (int i = 0; i < size; i++) {int num = abs(nums[i]) - 1;nums[num] = -abs(nums[num]);}for (int i = 0; i < size; i++) {if (nums[i] > 0)return i + 1;}return size + 1;}
};

Note:置换解题
我们可以对数组进行一次遍历,对于遍历到的数 x=nums[i],如果 x∈[1,size],我们就知道 x 应当出现在数组中的 x−1 的位置,因此交换 nums[i] 和 nums[x−1],这样 x 就出现在了正确的位置。在完成交换后,新的 nums[i] 可能还在 [1,size]的范围内,我们需要继续进行交换操作,直到 x∉[1,size]。
注意到上面的方法可能会陷入死循环。如果 nums[i]恰好与 nums[x−1] 相等,那么就会无限交换下去。此时nums[i] = x = nums[x−1],说明 x 已经出现在了正确的位置。因此可以跳出循环,开始遍历下一个数。

class Solution {
public:int firstMissingPositive(vector<int>& nums) {int size = nums.size();for (int i = 0; i < size; ++i) {while (nums[i] > 0 && nums[i] <= n && nums[nums[i] - 1] != nums[i]) {swap(nums[nums[i] - 1], nums[i]);}}for (int i = 0; i < size; ++i) {if (nums[i] != i + 1) {return i + 1;}}return size + 1;}
};

二、6. 从尾到头打印链表(剑指Offer)

从尾到头打印链表

Note:使用栈作为辅助

class Solution {
public:vector<int> printListReversingly(ListNode* head) {stack<int> stk;ListNode* pNode = head;while (pNode != nullptr) {stk.push(pNode->val);pNode = pNode->next;}int sizes = stk.size();vector<int> res(sizes);for (int i = 0; i < sizes; i++) {res[i] = stk.top();stk.pop();}return res;}
};

Note:翻转数组

class Solution {
public:vector<int> printListReversingly(ListNode* head) {vector<int> res;while (head != nullptr) {res.push_back(head->val);head = head->next;}reverse(res.begin(), res.end());return res;}
};

总结

祝大家都能学有所成,找到一份好工作!

http://www.yayakq.cn/news/64038/

相关文章:

  • 合肥高新区建设发展局网站制作灯笼的材料
  • 怎么建设网站视频教程网站做细分领域
  • 南阳卧龙区2015网站建设价格linux网页制作软件
  • 做房地产一级市场的看什么网站爱论网
  • 新万网站建设wordpress创建目录
  • 官方网站建设成果网页设计相关的网站
  • 网站做百度推广怎么推广网站小学生做网站软件
  • 摄影网站首页设计天津做网站
  • 网站视频打不开什么原因网站建设 营销
  • 合肥网站开发公司电话装修网站排名前十
  • 社团网站开发模板app源码交易平台
  • 六枝做网站德阳市建设管理一体化平台网站
  • 铁岭网站开发免费空间和域名
  • 免费网站知乎有了网站源码如何做网页
  • 公司网站开发需要多少钱成都搭建公司
  • 中山做网站公司wordpress主题设置导出
  • 怎么免费搭建自己的网站网络服务器租用
  • 教学互动网站的设计阿里云 wordpress 响应时间
  • 公众号兼职网站开发wordpress 还有什么
  • 网上做网站钱被骗了报案有用吗海洋网站建设网络公司
  • 建设公司大还是建筑公司大长春建站优化加徽信xiala5
  • 购物网站开发模板nike diy定制网站
  • 重庆 企业网站建设云服务器怎么用
  • iis网站属性在哪果洛州wap网站建设公司
  • 小型营销企业网站建设策划百度做广告怎么做
  • 对自己做的网站总结我看别人做系统就直接网站下载文件
  • 那个网站可以看高速的建设情况crm管理系统app
  • 一级a做爰片 网站就能看wordpress 小视频模板下载
  • 建立网站的原因国家摄影网站
  • ftp上传网站后怎么弄做一个微信公众号需要多少钱