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

学seo网站推广好吗wordpress列类型

学seo网站推广好吗,wordpress列类型,辽宁建设工程信息网打不开,网站运营要会什么技术目录 1.轮转数组 2.除自身以外数组的乘积 3.矩阵置零 4.螺旋矩阵 5.旋转图像 1.轮转数组 给定一个整数数组 nums#xff0c;将数组中的元素向右轮转 k 个位置#xff0c;其中 k 是非负数。 class Solution { public:void rotate(vectorint nums, int k) …目录 1.轮转数组 2.除自身以外数组的乘积 3.矩阵置零 4.螺旋矩阵 5.旋转图像 1.轮转数组 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 class Solution { public:void rotate(vectorint nums, int k) {int n nums.size();k % n; // 优化 k避免多余轮转// 翻转整个数组reverse(nums.begin(), nums.end());// 翻转前 k 个元素reverse(nums.begin(), nums.begin() k);// 翻转剩余的部分reverse(nums.begin() k, nums.end());} }; 取模优化 如果 k 大于数组长度 n则 k % n 的结果与直接轮转 k 次的效果相同减少不必要的操作。 数组翻转法 通过三次翻转完成数组的轮转 这种方法的时间复杂度为 O(n)O(n)O(n)空间复杂度为 O(1)O(1)O(1)。 首先将整个数组翻转。 然后将前 k 个元素翻转。最后将剩下的部分翻转。 2.除自身以外数组的乘积 给你一个整数数组 nums返回 数组 answer 其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。请 不要使用除法且在 O(n) 时间复杂度内完成此题。 class Solution { public:vectorint productExceptSelf(vectorint nums) {int n nums.size();vectorint answer(n, 1);// 计算前缀积int prefix 1;for (int i 0; i n; i) {answer[i] prefix; // 当前元素的前缀积prefix * nums[i]; // 更新前缀积}// 计算后缀积并更新答案int suffix 1;for (int i n - 1; i 0; --i) {answer[i] * suffix; // 乘以当前元素的后缀积suffix * nums[i]; // 更新后缀积}return answer;} }; 前缀积 遍历数组计算每个元素的左侧所有元素的乘积。 存储在 answer[i] 中。 后缀积 反向遍历数组计算每个元素右侧所有元素的乘积。 将后缀积与 answer[i] 相乘得到结果。 优化空间在同一个数组 answer 中存储前缀积和最终结果避免额外空间分配。 3.矩阵置零 给定一个 m x n 的矩阵如果一个元素为 0 则将其所在行和列的所有元素都设为 0 。请使用 原地算法。 class Solution { public:void setZeroes(vectorvectorint matrix) {int m matrix.size();int n matrix[0].size();// 标记第一行和第一列是否需要置零bool firstRowZero false, firstColZero false;// 检查第一列是否有零for (int i 0; i m; i) {if (matrix[i][0] 0) {firstColZero true;break;}}// 检查第一行是否有零for (int j 0; j n; j) {if (matrix[0][j] 0) {firstRowZero true;break;}}// 用第一行和第一列作为标记for (int i 1; i m; i) {for (int j 1; j n; j) {if (matrix[i][j] 0) {matrix[i][0] 0;matrix[0][j] 0;}}}// 根据标记置零for (int i 1; i m; i) {for (int j 1; j n; j) {if (matrix[i][0] 0 || matrix[0][j] 0) {matrix[i][j] 0;}}}// 处理第一列if (firstColZero) {for (int i 0; i m; i) {matrix[i][0] 0;}}// 处理第一行if (firstRowZero) {for (int j 0; j n; j) {matrix[0][j] 0;}}} }; 标记需要置零的行和列 我们不能直接修改矩阵因为这样会影响后续的判断。因此我们可以利用矩阵的第一行和第一列作为标记用来记录哪些行和列需要置零。 具体步骤 遍历矩阵找到为零的元素将对应的行和列的第一个元素置为零即标记。 再次遍历矩阵使用标记的信息将对应的行和列置为零。 需要额外的变量来记录第一行和第一列是否需要置零因为这两个被用作标记列。 时间复杂度和空间复杂度 时间复杂度O(m * n)需要遍历两次矩阵。空间复杂度O(1)只使用了常数额外空间。 4.螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix 请按照 顺时针螺旋顺序 返回矩阵中的所有元素。 class Solution { public:vectorint spiralOrder(vectorvectorint matrix) {vectorint result;if (matrix.empty() || matrix[0].empty()) return result;int m matrix.size();int n matrix[0].size();int top 0, bottom m - 1, left 0, right n - 1;while (top bottom left right) {// 从左到右遍历 top 边界for (int j left; j right; j) {result.push_back(matrix[top][j]);}top;// 从上到下遍历 right 边界for (int i top; i bottom; i) {result.push_back(matrix[i][right]);}--right;// 从右到左遍历 bottom 边界if (top bottom) {for (int j right; j left; --j) {result.push_back(matrix[bottom][j]);}--bottom;}// 从下到上遍历 left 边界if (left right) {for (int i bottom; i top; --i) {result.push_back(matrix[i][left]);}left;}}return result;} }; 定义四个边界 top矩阵的上边界初始为0。 bottom矩阵的下边界初始为m-1。 left矩阵的左边界初始为0。 right矩阵的右边界初始为n-1。 按顺时针顺序遍历 从左到右遍历 top 边界然后将 top 增加1。 从上到下遍历 right 边界然后将 right 减少1。 从右到左遍历 bottom 边界如果未越界然后将 bottom 减少1。 从下到上遍历 left 边界如果未越界然后将 left 增加1。 终止条件当 top bottom 或 left right 时遍历结束。 5.旋转图像 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在原地旋转图像这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 要在原地旋转一个二维矩阵 matrix 顺时针 90 度你可以通过以下两步操作来实现 转置矩阵首先将矩阵沿主对角线转置即将矩阵的行和列交换。这样矩阵的第 i 行、第 j 列的元素会变成第 j 行、第 i 列的元素。 反转每一行然后反转每一行。因为转置之后每一行的元素顺序相当于原来列的顺序反转每一行就实现了顺时针旋转 90 度的效果。 class Solution { public:void rotate(vectorvectorint matrix) {int n matrix.size();// 步骤 1: 转置矩阵for (int i 0; i n; i) {for (int j i 1; j n; j) {swap(matrix[i][j], matrix[j][i]);}}// 步骤 2: 反转每一行for (int i 0; i n; i) {reverse(matrix[i].begin(), matrix[i].end());}} }; 转置矩阵 对于每一对 (i, j)我们将 matrix[i][j] 与 matrix[j][i] 交换。注意我们从 i 开始循环到 n从 i1 开始进行交换以确保只交换矩阵的上三角部分即不交换已经交换过的元素。 反转每一行对于每一行使用 reverse(matrix[i].begin(), matrix[i].end()) 来反转这一行
http://www.hkea.cn/news/14320510/

相关文章:

  • 营销型网站建设价格怎么做企业的网站首页
  • 化妆品网站建设的设计思路黑马教育培训官网
  • 网站开发(源代码)360建筑网证书
  • 电子商务网站建设的常用开发方法html网站如何更新
  • html5响应式网站制作wordpress 导出数据库
  • 东莞网站建设地点优化河南省新闻出版培训中心
  • 网站恶意注册宜黄建设局网站
  • 广州网站推广¥做下拉去118cr做co的网站
  • 阿里云网站建设——部署与发布自己做的网站别人怎么访问
  • 青海做网站好的公司北京网站建设网络公司
  • 黑龙江省华龙建设有限公司网站杭州强龙网站建设
  • win2008 建立网站海外广告优化师
  • 马鞍山网站建设报价简述网站建设优劣的评价标准
  • 家装网站贴吧怎么做网站视频
  • 北京市优化网站百度搜索引擎关键词
  • 做电销哪些网站可以找到客户端网站推广优化淄博公司
  • 电商网站设计培训小程序链接生成二维码
  • t云建站重庆市交通建设工会网站
  • 学校网站建设的好处域名是否被注册查询
  • 亿度网络 网站建设网站同城在线哪里做
  • 群晖做网站服务器速度快吗学院网站建设情况总结
  • wordpress 中型网站安福相册网站怎么做的
  • 湘潭电大网站手游托在什么网站申请
  • 做卖图片的网站能赚钱吗wordpress 获取文章类型
  • 怎么开个人网站怎样给自己的网站做防红连接
  • 专业做财务公司网站会员卡管理系统excel
  • 豆芽网站建设科技志愿信息平台
  • 健康成都官微最新消息谷歌seo是做什么的
  • 潍坊网站建设500南阳网站建设优化
  • the7做的网站软件开发 报价单