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

世界上最有趣的网站手机可怎么样做网站

世界上最有趣的网站,手机可怎么样做网站,中国室内设计联盟邀请码,wordpress自定义分页今日学习目标 一、基础 数组 array类 模板类vector 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标下对应的数据。 需要两点注意的是 数组下标都是从0开始的。 数组内存空间的地址是连续的 而且大家如果使用C的话&…

今日学习目标

一、基础

  • 数组

  • array类

  • 模板类vector

数组是存放在连续内存空间上的相同类型数据的集合。

数组可以方便的通过下标索引的方式获取到下标下对应的数据。

算法通关数组

需要两点注意的是

  • 数组下标都是从0开始的。

  • 数组内存空间的地址是连续的

而且大家如果使用C++的话,要注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。

数组的元素是不能删的,只能覆盖。

  • array 和vector容器有什么区别?

array容器和vector容器是C++ STL库中的两种容器,它们的区别如下:

  1. 大小不同

array容器是一个固定大小的数组,创建时需要指定大小,不能动态调整大小。而vector容器是一个动态数组,可以动态调整大小。

  1. 内存分配方式不同

array容器的内存是静态分配的,即在编译时就分配好了内存。而vector容器的内存是动态分配的,即在运行时根据需要动态分配内存。

  1. 访问方式不同

array容器支持随机访问,可以通过下标快速访问元素。而vector容器也支持随机访问,但是由于内存分配方式的不同,vector容器的访问速度可能会慢一些。

  1. 初始化方式不同

array容器可以使用初始化列表来初始化,也可以使用默认构造函数创建一个空的array容器。而vector容器只能使用默认构造函数创建一个空的vector容器,需要使用push_back()等方法来添加元素。

  1. 适用场景不同

由于array容器是固定大小的,适合存储大小已知且不会改变的数据。而vector容器适合存储大小未知或者可能会改变的数据。

下面是使用C++实现array和vector的示例代码:

array的实现

#include <iostream>
#include <array>
using namespace std;int main() {array<int, 3> myArray = {1, 2, 3}; // 创建一个大小为3的int类型的Array// 遍历Array中的元素for (int i = 0; i < myArray.size(); ++i) {cout << myArray[i] << " ";}cout<<endl;return 0;
}

vector的实现:

#include <iostream>
#include <vector>
using namespace std;
int main() {vector<int> myVector; // 创建一个int类型的空的vector容器// 在vector中插入元素myVector.push_back(1);myVector.push_back(2);myVector.push_back(3);// 遍历vector中的元素for (int i = 0; i < myVector.size(); ++i) {cout << myVector[i] << " ";}cout << endl;return 0;
}

二、算法

 1. 704. 二分查找

class Solution {
public:int search(vector<int>& nums, int target) {int low = 0, high = nums.size()-1;while (low <= high) {int mid = (low + high) / 2;if (nums[mid] == target) {return mid;} else if (nums[mid] < target) {low = mid + 1;} else {high = mid - 1;}}return -1;}
};

2. 27. 移除元素

class Solution {
public:int removeElement(vector<int>& nums, int val) {int slow = 0;for (int fast = 0; fast < nums.size(); fast++) {if (val != nums[fast]) {nums[slow] = nums[fast];slow++;}}return slow;}
};

3. 977. 有序数组的平方 

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int k = nums.size() - 1;vector<int> result(nums.size(), 0);for (int i = 0, j = nums.size() - 1; i <= j;) {if (nums[i] * nums[i] < nums[j] * nums[j]) {result[k--] = nums[j] * nums[j];j--;} else {result[k--] = nums[i] * nums[i];i++;}}return result;}
};

4. 209.长度最小的子数组

class Solution {
public:int minSubArrayLen(int s, vector<int>& nums) {int result = INT32_MAX;int sum = 0; // 滑动窗口数值之和int i = 0; // 滑动窗口起始位置int subLength = 0; // 滑动窗口的长度for (int j = 0; j < nums.size(); j++) {sum += nums[j];// 注意这里使用while,每次更新 i(起始位置),并不断比较子序列是否符合条件while (sum >= s) {subLength = (j - i + 1); // 取子序列的长度result = result < subLength ? result : subLength;sum -= nums[i++]; // 这里体现出滑动窗口的精髓之处,不断变更i(子序列的起始位置)}}// 如果result没有被赋值的话,就返回0,说明没有符合条件的子序列return result == INT32_MAX ? 0 : result;}
};

5. 59.螺旋矩阵II

class Solution {
public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> res(n, vector<int>(n, 0));int k = 1;int right = n - 1, left = 0, up = 0, down = n - 1;while (k <= n * n) {for (int i = left; i <= right; i++)res[up][i] = k++;up++;for (int i = up; i <= down; i++)res[i][right] = k++;right--;for (int i = right; i >= left; i--)res[down][i] = k++;down--;for (int i = down; i >= up; i--)res[i][left] = k++;left++;}return res;}
};

6. 283. 移动零

class Solution {
public:void moveZeroes(vector<int>& nums) {int i = 0;for (int j = 0; j < nums.size(); j++) {if (nums[j] != 0) {swap(nums[i], nums[j]);i++;}}}
};

7. 26. 删除有序数组中的重复项

力扣LeetCode第26题 删除有序数组中的重复项

8. 80. 删除有序数组中的重复项 II 

力扣LeetCode第80题 删除有序数组中的重复项 II

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

相关文章:

  • 有没有通信专业业余做兼职的网站娄底建设局官方网站
  • 一个好的网站内页大概做多少客户网站开发全流程图
  • 建立网站解析会员视频是犯什么罪市场营销方案怎么做
  • 中国公路建设协会网站网页导航条制作教程
  • 网站后台图片并排怎么做wordpress插件 二次开放
  • 网站建设所需资料北京网页设计电脑培训
  • 绿色系的网站企业电子商务网站开发
  • 温州市建设小学学校网站wordpress 安装 插件
  • 自己做视频网站有点卡厂家招总代理
  • 福州网站推广排名369网站建设中心
  • 成都网站制作设计设计图案用什么软件
  • 龙岩app定制什么样的网站好优化
  • 濮阳做网站的电话做移动网站建设
  • 免费游戏网站建设游戏后台Corona app wordpress
  • 医疗公司网站建设项目背景关系建设的网站
  • 罗湖住房和建设局网站网站建设课题简介
  • 网站模版上线需要什么意思源码建网站
  • 北辰手机网站建设昆明专业的网站制作建设
  • 网站结构及内容建设策略企业做网站哪家好
  • 确定网站主题工商系统企业信用信息查询
  • 怎样做网站步骤自己在线制作logo免费生成器
  • 子网站域名ip地址查询百度竞价排名技巧
  • flash 网站头部企业网站包含的内容
  • 西部数码网站管理助手 ftp密码网络营销好学吗
  • 网站设计制作收费明细关于网站的建设
  • 松原做公司网站改 wordpress 主题 颜色
  • 潍坊网站建设方案推广我找别人做的网站现在不管了怎么办
  • 网站12栅格系统怎么做网站app定制
  • 设备电商网站模板网站建设的售后服务流程
  • 庆元县住房和城乡建设局网站对二次网站开发的认识