码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode1027

时间:2019-04-14 14:23:58      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:target   var   get   实现   class   star   思想   public   解决   

最直接的思路是三层循环,但是会超时,代码如下:

 1 public class Solution
 2     {
 3         public int LongestArithSeqLength2(int[] A)
 4         {
 5             var maxLength = 2;
 6             var len = A.Count();
 7             for (var i = 0; i < len; i++)
 8             {
 9                 for (var j = i + 1; j < len; j++)
10                 {
11                     var curmax = 2;
12                     var target = A[i] - A[j];
13                     var next = A[j] - target;
14                     for (var k = j + 1; k < len; k++)
15                     {
16                         if (A[k] == next)
17                         {
18                             curmax++;
19                             next = A[k] - target;
20                         }
21 
22                     }
23                     maxLength = Math.Max(maxLength, curmax);
24                 }
25             }
26             return maxLength;
27         }
28     }

但同样的代码,使用java实现,却可以正常提交,leetcode对这道题目的的判断机制有点奇怪。

如果想解决超时问题,可以考虑使用哈希或者dp思想,来减少判断的时间。

这种题目,做起来很麻烦,看看别人的思路吧。

 

leetcode1027

标签:target   var   get   实现   class   star   思想   public   解决   

原文地址:https://www.cnblogs.com/asenyang/p/10704697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!