33.日常算法

devtools/2025/2/9 7:18:06/

1.螺旋矩阵

题目来源
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

示例 1:
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<vector<int>> dis = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};vector<vector<bool>> vis(matrix.size(), vector<bool>(matrix[0].size(), false));int diction = 0;int total = matrix.size() * matrix[0].size();vector<int> ret(total);int row = 0, col = 0;int idx = 0;for (int i = 0; i < total; ++i){ret[i] = matrix[row][col];vis[row][col] = true;int newrow = row + dis[idx][0], newcol = col + dis[idx][1];if (newrow >= matrix.size() || newcol >= matrix[0].size() || vis[newrow][newcol]){++idx;idx %= 4;}row = row + dis[idx][0];col = col + dis[idx][1];}return ret;}
};

2. 和为 K 的子数组

题目来源
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。

示例 1:
输入:nums = [1,1,1], k = 2
输出:2

class Solution {
public:int subarraySum(vector<int>& nums, int k) {unordered_map<int, int> hash;hash[0] = 1; // 进行初始化int sum = 0;int ret = 0;for (auto & x : nums){sum += x;if (hash.count(sum - k)) ret += hash[sum - k];hash[sum]++;}return ret;}
};

http://www.ppmy.cn/devtools/157287.html

相关文章

Java 5 年经验面试记录

Java 5 年经验面试记录 希音 一面 &#xff08;过&#xff09;1个小时 开发过的组件有哪些xxl-job和spring schedule为什么选择xxl-job&#xff0c;详细描述xxl-job任务执行的流程。使用过的设计模式有哪些&#xff1f;享元模式用于什么场景&#xff0c;使用享元模式有什么好…

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-autobatch.py

autobatch.py ultralytics\utils\autobatch.py 目录 autobatch.py 1.所需的库和模块 2.def check_train_batch_size(model, imgsz640, ampTrue, batch-1, max_num_obj1): 3.def autobatch(model, imgsz640, fraction0.60, batch_sizeDEFAULT_CFG.batch, max_num_obj1): …

基于STM32的智能鱼缸水质净化系统设计

&#x1f91e;&#x1f91e;大家好&#xff0c;这里是5132单片机毕设设计项目分享&#xff0c;今天给大家分享的是智能鱼缸水质净化系统。 目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 1、设计要求…

C#常用744单词

1.visual 可见的 2.studio 工作室 3.dot 点 4.net 网 5.harp 尖端的&#xff0c;锋利的。 6.amework 骨架&#xff0c;构架&#xff0c;框架 7.beta 测试版&#xff0c;试用版 8.XML&#xff08;全称&#xff1a;eXtensible Markup Language&#xff09…

【项目日记(四)】thread cache 层

前言 前面我们对整个项目的框架进行了介绍&#xff0c;本期开始我们将进行第一层线程缓存层(thread cache)的详细介绍与实现。 目录 前言 一、thread cache 的整体设计 二、内存对齐规则和哈希映射关系 2.1 如何对齐&#xff1f; 2.2 这样设计对齐规则的好处&#xff1f…

基于DeepSeek模型的思维导图智能系统

基于DeepSeek模型的思维导图智能系统 摘 要&#xff1a;本文研究了Prompt技术在自然语言处理&#xff08;NLP&#xff09;中的应用&#xff0c;重点探讨了其在用户输入语言转换任务中的作用。基于DeepSeek模型&#xff0c;文章通过设计不同的Prompt并结合API调用&#xff0c;…

飞算JavaAI 如何帮助初级工程师提升设计能力?

在 Java 开发的广袤天地里&#xff0c;初级工程师就像一群怀揣梦想却又在迷雾中摸索的冒险者。设计能力&#xff0c;对他们而言&#xff0c;仿佛是一座高耸入云、难以攀登的山峰。传统的开发学习路径中&#xff0c;初级工程师往往需要在浩如烟海的代码范例里苦苦钻研&#xff0…