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

【算法集训】基础算法:模拟

一、基本理解

顾名思义,就是题目要求做什么,代码中就跟着做就可以。

二、题目练习

1252. 奇数值单元格的数目

根据题目要求列出如下代码。需要注意填充列和行的时候注意下标。

int oddCells(int m, int n, int** indices, int indicesSize, int* indicesColSize) {int mat[60][60];memset(mat, 0, sizeof(mat));for(int i = 0; i < indicesSize; ++i) {int r = indices[i][0];int c = indices[i][1];//填充列for(int j = 0; j < m; ++j) {mat[j][c]++;}//填充行for(int j = 0; j < n; ++j) {mat[r][j]++;}}int ret = 0;for(int i = 0; i < m; ++i) {for(int j = 0; j < n; ++j) {if(mat[i][j] % 2 == 1) {ret++;}}}return ret;
}

以下的题目都是一些模拟的题目,可以按需练习。

1、基于数组

利用数组的数据结构,根据题目要求,去实现算法,如:1920. 基于排列构建数组、1389. 按既定顺序创建目标数组、1603. 设计停车系统、2149. 按符号重排数组、2221. 数组的三角和

2、基于字符串

利用字符串的数据结构,根据题目要求,去实现算法,如:2011. 执行操作后的变量值、2744. 最大字符串配对数目、LCP 17. 速算机器人、537. 复数乘法

3、基于链表

利用链表的数据结构,根据题目要求,去实现算法,如:2181. 合并零之间的节点、1823. 找出游戏的获胜者

4、基于矩阵

利用矩阵的数据结构,根据题目要求,去实现算法,如:2120. 执行所有后缀指令、1252. 奇数值单元格的数目、832. 翻转图像、657. 机器人能否返回原点、289. 生命游戏、59. 螺旋矩阵 II、885. 螺旋矩阵 III

5、基于栈

利用栈的数据结构,如:1441. 用栈操作构建数组

6、基于队列

利用队列的数据结构,如:1700. 无法吃午餐的学生数量

二、算法技巧

模拟时一般会用到一些算法技巧,或者说混合算法,比如 排序、递归、迭代 等等。

1、排序

排序后,干一件事情,如:950. 按递增顺序显示卡牌

2、递归

需要借助递归来实现,如:1688. 比赛中的配对次数 、2169. 得到 0 的操作数、258. 各位相加

3、迭代

不断迭代求解,其实就是利用 while 循环来实现功能,如:1860. 增长的内存泄露、258. 各位相加

http://www.lryc.cn/news/313498.html

相关文章:

  • 基于SSM的房客源信息管理系统设计与实现
  • 常见数据类型
  • 基于vue的联通积分商城数据可视化APP设计与实现
  • 2024年flink面试真题(一)
  • Java面试挂在线程创建后续,不要再被八股文误导了!创建线程的方式只有1种
  • JavaEE面试题
  • 探索macOS上的最佳MySQL客户端工具
  • [Android] MediaPlayer SDK API glance
  • 原始手写helloworld并打jar包允许
  • maven 的安装与配置(Command ‘mvn‘ not found)修改配置文件后新终端依旧无法识别到 mvn 命令
  • Pycharm无法粘贴外部文本问题
  • 学习Java的第四天
  • 【Javaweb】【瑞吉外卖】登录功能plus--拦截器filterinterceptors实现
  • 关于 Runes 协议及「公开铭刻」发行机制的拓展讨论
  • chkdsk修复会造成文件丢失吗?chkdsk数据丢失还能恢复吗
  • Hypermesh2019快捷键大全
  • CSS布局——Flexbox基础使用
  • Kubernetes(K8s):容器化应用的航空母舰
  • Java配置49-nginx 反向代理 sftp 服务器
  • Qt添加VTK并绘制图形
  • VsCode搭建Spring Boot项目环境
  • (黑马出品_05)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • window mysql 安装出现的问题
  • 【3GPP】【核心网】【5G】5G核心网协议解析(二)(超详细)
  • 物联网带来的六大运营挑战
  • 【ETCD】简介安装常用操作---图文并茂详细讲解
  • 第四篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas生物信息学领域应用
  • Elasticsearch:机器学习与人工智能 - 理解差异
  • 智引未来:2024年科技革新引领工业界变革与机遇
  • 自动化运维工具----Ansible playbook详解