极客20届 第二周练习
前言
第二周 相信大家已经学会一些基础语法了 但是可能对指针
的理解 对结构体
链表
等数据结构的认识 乃至类
的认识 还有欠缺
于是这周我们将深入这部分内容 以题目为驱动来做些事情
另外按照惯例 每道题都有骚操作的空间 。
最后,思路为王
第一题 经典送分前缀和
基础知识点
- 指针 函数等概念
- 如何申请内存空间
- 暴力模拟
高级知识点
- 记忆化搜索
- 前缀和
段位
黑铁~白银
背景
数组nums的前缀和
的计算公式为:getSum[i] = sum(nums[0]…nums[i])
请返回 nums 的动态和。
传入的 nums指针所指向空间已经被释放
示例 1:
输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
示例 2:
输入:nums = [1,1,1,1,1]
输出:[1,2,3,4,5]
解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。
数据范围
程序能解决的n越大越好 不限制
代码示例
int* getSum(int* nums, int numsSize, int* returnSize){}
拓展
如果传入的nums
数组指向空间没有被释放 应该怎么做可以省一点空间
第二题 可能没有用到算法的题目
基础知识点
- 二维指针 函数等概念
- 暴力模拟
- 细心
高级知识点
- 莫得
段位
黑铁
背景
给定一个正整数 n,打印输出一个包含 1 到 n 2 n^2 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例 1:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
数据范围
程序能解决的n越大越好 不限制
代码示例
int** generateMatrix(int n){}
第三题 我就贪那点水
基础知识点
- 指针 函数等概念
高级知识点
- 贪心 二分
- 优先队列 或者 哈希表 或者 链表等 同样效果的数据结构
段位
黄金
背景
假设我有 n 个湖泊,下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。你的目标是避免任意一个湖泊发生洪水。
给你一个整数数组 rains ,其中:
- rains[i] > 0 表示第 i 天时,第 rains[i] 个湖泊会下雨。
- rains[i] == 0 表示第 i 天没有湖泊会下雨,你可以选择 一个 湖泊并 抽干 这个湖泊的水。
请返回一个数组 ans ,满足:
- ans.length == rains.length
- 如果 rains[i] > 0 ,那么ans[i] == -1 。
- 如果 rains[i] == 0 ,ans[i] 是你第 i 天选择抽干的湖泊。
如果有多种可行解,请返回它们中的 任意一个 。如果没办法阻止洪水,请返回一个 空的数组 。
如果你抽干一个满水湖泊,它会变空。如果抽空湖泊,则无事发生(详见示例 4)。
传入的 rains、returnSize指针所指向空间没有被释放
示例 1:
输入:rains = [1,2,3,4]
输出:[-1,-1,-1,-1]
解释:第一天后,装满水的湖泊包括 [1]
第二天后,装满水的湖泊包括 [1,2]
第三天后,装满水的湖泊包括 [1,2,3]
第四天后,装满水的湖泊包括 [1,2,3,4]
没有哪一天你可以抽干任何湖泊的水,也没有湖泊会发生洪水。
示例 2:
输入:rains = [1,2,0,0,2,1]
输出:[-1,-1,2,1,-1,-1]
解释:第一天后,装满水的湖泊包括 [1]
第二天后,装满水的湖泊包括 [1,2]
第三天后,我们抽干湖泊 2 。所以剩下装满水的湖泊包括 [1]
第四天后,我们抽干湖泊 1 。所以暂时没有装满水的湖泊了。
第五天后,装满水的湖泊包括 [2]。
第六天后,装满水的湖泊包括 [1,2]。
可以看出,这个方案下不会有洪水发生。同时, [-1,-1,1,2,-1,-1] 也是另一个可行的没有洪水的方案。
示例 3:
输入:rains = [1,2,0,1,2]
输出:[]
解释:第二天后,装满水的湖泊包括 [1,2]。我们可以在第三天抽干一个湖泊的水。
但第三天后,湖泊 1 和 2 都会再次下雨,所以不管我们第三天抽干哪个湖泊的水,另一个湖泊都会发生洪水。
示例 4:
输入:rains = [69,0,0,0,69]
输出:[-1,69,1,1,-1]
解释:任何形如 [-1,69,x,y,-1], [-1,x,69,y,-1] 或者 [-1,x,y,69,-1] 都是可行的解,其中 1 <= x,y <= 10^9
示例 5:
输入:rains = [10,20,20]
输出:[]
解释:由于湖泊 20 会连续下 2 天的雨,所以没有没有办法阻止洪水。
数据范围
1 < = r a i n s . l e n g t h < = 1 0 5 1 <= rains.length <= 10^5 1<=rains.length<=105
0 < = r a i n s [ i ] < = 1 0 9 0 <= rains[i] <= 10^9 0<=rains[i]<=109
代码示例
int* avoidFlood(int* rains, int rainsSize, int* returnSize){}
第四题 最短路径问题
基础知识点
- 二维指针 函数等概念
- 暴力递归
高级知识点
- 经典动态规划
段位
黑铁~黄金
背景
给定一个包含非负整数的 m x n
网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。
传入的 grid、gridSize、gridColSize指针所指向空间没有被释放
示例 1:
输入:
[
[1,3,1],
[1,5,1],
[4,2,1]
]
输出: 7
解释: 因为路径 1→3→1→1→1 的总和最小。
数据范围
程序能解决的n越大越好 不限制
代码示例
int minPathSum(int** grid, int gridSize, int* gridColSize){}
第五题 给萌新留活路的链表
基础知识点
- 指针 函数等概念
- 链表
- 动态申请内存
段位
白银?
背景
请实现一个链表 链表元素包含参数index
与value
链表功能能够实现增删改查
- 增 给定序号(index,即插入的位置)与元素值(value) 增加元素
- 删 给定序号(index),删除元素
- 改 给定序号(index),新的值(value),改变元素
- 查 给定序号(index),返回值(value)
- 查 返回所有的值(value),并且进行排序和去重,输出
后记 要求
请上交程序给你的组长 提供以下材料:
- 源代码
.c
.cpp
或者.java
(考指针的题目你就只能用c
语言了) - 思路说明 建议不要仅仅用注释代替思路说明 除非真的很简单:)
每周周日24:00
为上交截止时间 早交有加分
极客20届 第二周练习相关推荐
- Django 学习小组:博客开发实战第二周教程 —— 实现博客详情页面和分类页面
本教程内容已过时,更新版教程请访问: django 博客开发入门教程. 上周我们完成了博客的 Model 部分,以及 Blog 的首页视图 IndexView. 本节接上周的文档 Django 学习小 ...
- 银联高校极客挑战赛 初赛 第二场
开场几十分钟后才开始打的,实验室居然锁门了... A. 码队GO 左上.右下角为(1,1).(x,y)的矩阵的大小,dp处理 然后一个裸的二分答案 (1,1) (x,y) (x-k,y-k) 三个点 ...
- Geekban极客班 第三周
复合 composition template<class T,class Sequence=deque<T> > class queue{... protected:Sequ ...
- 极客观察:利用人性弱点的互联网服务
(一)贪婪 一个伟大的产品发明离不开对人性的深刻探索.你可能不知道到底为什么某个产品让你着迷,你也可能不知道为什么一些公司总能制造出你想要的产品.来让我们看看这些公司到底用什么东西吸引着你. 极客观察 ...
- 极客班C++ STL(容器)第二周笔记
为什么80%的码农都做不了架构师?>>> 极客班 C++ STL (容器算法)第二周笔记 标签(空格分隔): C++ 1. 容器(下) 1.1 Stack a. 概述 Stac ...
- 2022第二届低代码极客挑战赛邀你来战!
随着数字经济的加速深化,80%+的企业与机构对业务需求的敏捷响应.高效低成本的开发与运维有着强烈的需求,而在这其中,越来越多企业与机构的领导者在IT建设以及数字化转型探索中,会考虑利用低代码/零代码产 ...
- 腾讯回应发布虚假广告被罚20万;苹果客服回应iPhone 12屏幕发绿;Chrome 87 正式版发布|极客头条...
整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「 ...
- 新浪微博回应热搜被暂停更新一周;即刻 APP 下架一年后恢复上线;Android 11 Beta 版发布| 极客头条...
整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...
- 微信Android版支持改微信号,淘宝硬核拒绝改名要求;5G 套餐价格松动;Kotlin 1.4 第二个预览版发布|极客头条...
整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...
最新文章
- 一些算法入门应该明白的东西
- tensorfllow MNIST机器学习入门
- 比nginx-rtmp高三倍性能的SRS的高性能是个什么球?
- 【转载】async await 的前世今生(Updated)
- 笨办法学 Python · 续 练习 37:小型 BASIC
- 用 SOLID 原则保驾 React 组件开发
- bootstrap css选择不同的宽度
- c/c++ 多线程 ubuntu18.04 boost编译与运行的坑
- 中小企业网络安全建设指引
- 支付宝资金预授权怎么开通详解,芝麻信用免押接口开通,免押领取/免押金租赁设备!
- vue路由守卫以及用法
- HTML下拉菜单(超详细):
- Cannot execute binary file 之原因
- QQ音乐车机模式中蓝牙音乐无效
- CSSposition定位(relative、absolute、fixed、sticky)
- 开放原子训练营(第一季)铜锁探密,SM3杂凑算法加强至pro版
- Verilog数字系统设计——8位数字比较器
- CMMI2.0之我见-管理性能和度量MPM
- python代码练习,微信登入并生成头像大图
- 鸿蒙系统2.0电视版,鸿蒙2.0系统,鸿蒙2.0发布系统官方最新版预约 v1.0-手游汇
热门文章
- 将base64图片旋转90度,将图片格式化(保持透明背景)
- 怎么看xp计算机配置文件,WinXP怎样查看电脑使用记录?查看电脑使用痕迹的方法...
- Flash,RAM,ROM区别
- stty icanon
- 第4周学习:MobileNetV1, V2, V3
- jQuery中Input属性checkBox用removeAttr后无效的陷阱
- 【java8】自定义Collector
- 手机计算机撩妹,拿着这款手机,搭讪小姐姐成功率竟然这么高
- 数据特征处理之文本型数据特征值化(一)
- vue-cli 测试_vue js vue cli根据测验问题提出建议