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

38.日常算法

1.最短无序连续子数组

题目来源
给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的 最短 子数组,并输出它的长度。

示例 1:
输入:nums = [2,6,4,8,10,9,15]
输出:5
解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。

class Solution {
public:int findUnsortedSubarray(vector<int>& nums) {int left = 0;int minx = INT_MAX;// 找左端点,表示以left右的数组已经排好序了// 如果右边已经排好序了,num[i]一定会小于右边排好序的最小值for (int i = nums.size() - 1; i >= 0; --i){minx = min(nums[i], minx);if (nums[i] > minx) left = i;}// 找右端点,表示以right左的数组已经排好序了// 如果左边已经排好序了,num[i]一定会大于左边排好序的最大值int right = -1;int maxx = INT_MIN;for (int i = 0; i < nums.size(); ++i){maxx = max(maxx, nums[i]);if (nums[i] < maxx) right = i;}return right == -1 ? 0 : right - left + 1;}
};

1. 螺旋矩阵 II

题目来源
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

class Solution {
public:vector<vector<int>> generateMatrix(int n) {int maxnum = n * n;vector<vector<int>> diction = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};vector<vector<int>> ret(n, vector<int>(n));int idx = 0;int row = 0, col = 0;for (int i = 1; i <= maxnum; ++i){ret[row][col] = i;int newrow = row + diction[idx][0], newcol = col + diction[idx][1];if (newrow >= n || newrow < 0 || newcol >= n || newcol < 0 || ret[newrow][newcol] != 0){++idx;idx %= 4;}row = row + diction[idx][0], col = col + diction[idx][1];}return ret;}
};
http://www.lryc.cn/news/536101.html

相关文章:

  • 如何构建有效的人工智能代理
  • qt 事件的传递顺序
  • 全面掌握Flutter开发:从核心原理到跨平台实战,构建高效应用
  • Flutter 添加 iOS widget 小组件
  • 2025年金三银四经典自动化测试面试题
  • C++17 中 std::lcm:从入门到精通
  • 初阶c语言(循环语句习题,完结)
  • 本地Deepseek-r1:7b模型集成到Google网页中对话
  • SSM课设-学生选课系统
  • Windows中使用Docker安装Anythingllm,基于deepseek构建自己的本地知识库问答大模型,可局域网内多用户访问、离线运行
  • AI前端开发技能提升与ScriptEcho:拥抱AI时代的前端开发新范式
  • 【Redis存在线程安全问题吗?】
  • 碎碎念,再聊HyperRAM(CrosslinkNX FPGA+HyperRAM)
  • 左移架构 -- 从攒批,湖仓到使用数据流的实时数据产品
  • 多模态识别和自然语言处理有什么区别
  • 进阶——第十六蓝桥杯嵌入式熟练度练习(串口的小BUG补充-字符接受不完整和字符接受错误)
  • 数据结构-链式二叉树
  • 【git-hub项目:YOLOs-CPP】本地实现01:项目构建
  • 250213-RHEL8.8-外接SSD固态硬盘
  • 如何本地部署DeepSeek?
  • leetcode:627. 变更性别(SQL解法)
  • 51单片机(国信长天)矩阵键盘的基本操作
  • 封装一个sqlite3动态库
  • Transformer以及BERT阅读参考博文
  • AI学习记录 - 最简单的专家模型 MOE
  • 急停信号的含义
  • 单调队列queue
  • 【漫话机器学习系列】091.置信区间(Confidence Intervals)
  • UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x99
  • DeepSeek应用——与word的配套使用