![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
阿里云在线编程记录
记录了Banana在阿里云在线编程的题目记录
Geek-Banana
JAVACV工程师
新手炼丹师
展开
-
【阿里云在线编程】 135.Password
题目题目传送门:传送门(点击此处)题解思路使用hashmap…稍后补上codepackage solution135;class Solution { public String solution(String s, String str) { int[] count = new int[26]; for (int i = 0; i &...原创 2020-03-03 10:08:07 · 267 阅读 · 0 评论 -
【阿里云在线编程】 96.滑雪比赛
题目题目传送门:传送门(点击此处)题解思路算出每个人结束比赛的用时,再比较谁的用时最少,题目简单知道赛道长度 m,滑雪速度 a,每滑 e[i][0] 秒休息 e[i][1] 秒,问这个人多长时间滑完每个人都这样挨个求一边,就有答案了codepackage solution96;class Solution{ public int solution(int n,int m...原创 2020-03-03 10:00:53 · 292 阅读 · 0 评论 -
【阿里云在线编程】 65.Alice的01串
题目题目传送门:传送门(点击此处)题解思路首先要注意的一点,题目中没有要求字串必须去重,所以字串是可以重复的用暴力法肯定不合适,暴力法时间复杂度是 O(n2)其实字串的算法很简单,找出第1个1之前的0的数量和第k个1之后的0的数量就能算出的结果比如输入:2“000010010100”记录好1的位置项目 | Value1的索引距离上一个1之...原创 2020-03-03 09:54:57 · 292 阅读 · 0 评论 -
【阿里云在线编程】 56.Tom爱吃巧克力
题目题目传送门:传送门(点击此处)题解思路nums 用来记录了每个商店的巧克力的 价格 和 块数,为了花最少的钱,很显而易见,从最便宜的开始买就行了最直观的思路,把二维数组按照价格列进行排序,然后遍历数组算钱即可,比较简单,可能比较不容易的是 二维数组根据某个列的值进行排序另外还要注意的一点就是int 和 long 的抓换,如果不转换为 long,会存在 溢出 的情况code...原创 2020-03-03 09:42:26 · 272 阅读 · 0 评论 -
【阿里云在线编程】 54.简单题?
题目题目传送门:传送门(点击此处)题解思路从代码上来看,这题确实是挺简单。。。思路一开始也是没有的,看到这题感觉自己萌萌的首先,这道题目没读懂,我是从测试用例的预期结果来读懂题目的在这一步一步的变化过程中已经出现了规律对应一下从1到10,我们不难发现规律1 = 202 = 213 = 20 + 214 = 225 = 20 + 216 = 21 + 22...原创 2020-03-02 21:36:20 · 516 阅读 · 0 评论 -
【阿里云在线编程】 53.Tom跳方格
题目题目传送门:传送门(点击此处)题解思路这道题就是,找到数组中的 最长非递增子序列思路很简单,定义一个 count遍历一遍数组,如果 后一个数 比 前一个数 小,那么 count + 1,如果 后一个数 比 前一个数 大,那么 count 重置为 0codepackage solution53;class Solution { public int solution...原创 2020-03-02 21:09:47 · 239 阅读 · 0 评论 -
【阿里云在线编程】 51.非递减序列
题目题目传送门:传送门(点击此处)题解思路想形成递减序列,其实两两比较即可对于 ai ,只能不变或者减一拿a1和a2来说,有这么几种情况:a1 + 1 < a2 例如:1 和 3a1 + 1 = a2 例如:2 和 3a1 = a2 例如:3 和 3a1 = a2 + 1 例如:4 和 3a1 > a2 + 1 例如:5 和 3其实我们只考虑 4 和 5 的...原创 2020-03-02 21:05:09 · 214 阅读 · 0 评论 -
【阿里云在线编程】46.最大矩形面积
题目题目传送门:传送门(点击此处)题解思路简化一下题目,这道题是 找每出现了两次的数字的最大乘积其实这道题的示例是有坑的,不是每个数字都出现两次,有可能会有组成不了矩形的情况把无序的数组进行排序倒序查找 出现了两次的值,找 第一个 和 第二个,分别作为第一大 first 和第二大 second,两个值相等没关系,正方形也是矩形有了 first 和 second,最后返回 f...原创 2020-03-02 20:52:28 · 203 阅读 · 0 评论 -
【阿里云在线编程】 45.最活跃的数
题目题目传送门:传送门(点击此处)题解思路对于一个数 a 的操作,有三种结果,a-1、a、a+1,每次的这三个数字不会重复,使用一个 hashmap 分别存入这三个数字即可,最后统计 出现的次数 ,我们就能找到可能出现最多次数的数字。遍历hashmap,找出来计数最大的值是4codepackage solution45;import java.util.HashMap;...原创 2020-03-02 20:38:42 · 177 阅读 · 0 评论 -
【阿里云在线编程】 44.最大边权和
题目题目传送门:传送门(点击此处)题解思路边权是两个点的权值相加除以2,n个点连通需要n-1条边,想让边权和最大,那就让每条边都达到最大就好了要想让每条边的边权都最大,其实让除最大权值的点都连接到权值最大的点就好了codepackage solution44;class Solution { public int solution(int n,int[] nums...原创 2020-03-02 20:17:10 · 420 阅读 · 0 评论 -
【阿里云在线编程】 86.完美排列
题目题目传送门:传送门(点击此处)题解思路简化题目,给一个长度为n的数组,每次只能对其中的某一个元素进行加一或者减一的操作,问最后要操作多少次形象一点,也就是这样:所以说先按顺序排好,再挨个进行比对就可以了codepackage solution86;import java.util.Arrays;class Solution { public int s...原创 2020-02-28 15:21:27 · 696 阅读 · 0 评论 -
【阿里云在线编程】 52.朋友一生一起走
解题思路数字 k,比如 k=5,它的 “好朋友” 分别是1和4、2和3;如果k=6,那么它的 “好朋友” 分别是 1和5、2和4,所以,单数的好朋友的对数会是 k / 2,而双数的好朋友的对数则是 k / 2 - 1。我们可以考虑在数轴上考虑就会更加的清晰:k <= n 的时候,我们不用考虑 n 的先置,直接考虑k的 “好朋友”的对数,单数为 k / 2,双数为 k / 2 - 1...原创 2020-02-28 15:10:59 · 269 阅读 · 0 评论 -
【阿里云在线编程】 49.吃奶酪 二分法
题目题目传送门:传送门(点击此处)题解思路 二分法做阿里云在线编程得题目感受比较大得就是,理解题目!!!同样得,简化题目所说得,找到 50 000 以及左右的第一个数字,比较一下距离左边界和有边界的位置就可以了这道题目不可以用暴力法,时间复杂度会过高,所以其实这道题就是找 50 000 左右的数字,使用二分法即可二分法典型的左指针 l,右指针 r,中指针mid,二分法的条件,就是...原创 2020-02-28 15:05:50 · 228 阅读 · 0 评论 -
【阿里云在线编程】 43.打怪兽
题目题目传送门:传送门(点击此处)题解思路主要还是对于题目的理解,要把题目进行转换,了解要求得的结果是什么其实看题目,要进行三次攻击,第二只 攻击 第一只 ,第三只攻击 第二只,所求得得结果,也就相当于 第三只 得血量减去 第一只 得血量其实也就是3只怪兽中 血量最高得 减去 血量最低得使用Math函数,代码一行就解决问题了codepackage solution43;cl...原创 2020-02-28 14:51:42 · 673 阅读 · 2 评论 -
【阿里云在线编程】 37.最强的团队
题目题目传送门:传送门(点击此处)题解思路先来读懂这道题目,这道题通俗的解释就是,找到一个数组中最大的元素出现的次数从第一个开始,遍历数组,存储 当前数字 以及 出现次数遍历的每个数与 存储数字 比较大小,如果大于 存储数字,那么 出现次数 置零,重新开始计数codepackage solution37;class Solution { public int so...原创 2020-02-28 13:25:00 · 477 阅读 · 1 评论 -
【阿里云在线编程】 34.矩阵最小路径和
题目题目传送门:传送门(点击此处)题解思路ps:声明一个格子来存储路径条数或者路径长度都可,可以解决路径条数和长度连个问题典型的动态规划题目,从左上角到右下角,只能向右或者向下移动,所以第一行和第一列,只有一种可能的情况除了第一行或者第一列的格子,它的上一步,有可能是 上边的格子 或者 左边的格子 ,所以有可能是这两种情况,所以它的路径可能性就是这两个格子,如果是路径长度的...原创 2020-02-28 11:07:29 · 298 阅读 · 0 评论 -
【阿里云在线编程】 39.复杂的字符串
题目题目传送门:传送门(点击此处)题解思路从题目看,很容易想到就是找这两个字符串的公共部分,而且公共部分在两个字符串的最后,所以,从字符串的最后开始遍历,找到第一个不一样的即可。分别定义指针i1和i2,在s1和s2上分别移动,从后向前,找到第一个不一样得即可找到此时i1=1,i2=1,注意i1和i2都是索引,所以还需要加个1,最后得结果就是i1+i2+1+1codepack...原创 2020-02-28 10:48:32 · 295 阅读 · 1 评论