青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
給定一列數,如果三個或以上的數滿足等差數列定義,則稱為arithmetic subsequences,問給定的一列數有多少個arithmetic subsequences
1  <= nums.length <= 1000
-231 <= nums[i] <= 231 - 1
這題按照思路來說,大概是Medium難度的DP,用python也特別方便好寫,于是閑聊無視非要用C寫了一遍,就真的變Hard模式了,搞了n次才AC,發現果然沒有別人用C來寫。。= =||
總的思路:dp[i][dif]保存處理到第i個數,且相鄰數差值為dif的子數列個數,dp更新:
for i in range(len(nums)):
   for j in range(i):
      dif = nums[j] - nums[i]
      dp[i][dif] += dp[j][dif] + 1
      ans += dp[j][dif]

Python很好寫,用dict保存所有可能的dif值就行:

 1 #446
 2 #Runtime: 2028 ms
 3 #Memory Usage: 74.3 MB
 4 
 5 class Solution(object):
 6     def numberOfArithmeticSlices(self, nums):
 7         """
 8         :type nums: List[int]
 9         :rtype: int
10         """
11         dp = [defaultdict(int) for _ in range(len(nums))]
12         ans = 0
13         for i in range(len(nums)):
14             for j in range(i):
15                 dif = nums[j] - nums[i]
16                 dp[i][dif] += dp[j][dif] + 1
17                 ans += dp[j][dif]
18         return ans


C語言版,思路同上,但因為C里面沒有好用的dict,所以用了Hash,LeetCode支持uthash,另外如果直接hash,那么dif的可能性會非常大(cnt保存所有dif的可能性數量),dp數組沒法開那么大,于是,只保存真的形成了3個或以上數字的等差數列的dif值(用cnt2來保存符合這樣條件的dif值的數量),在開dp數組的時候第二維開多大也有一點小trick
交上去的結果:
Runtime: 799 ms, faster than 100.00% of C online submissions for Arithmetic Slices II - Subsequence.
Memory Usage: 240.9 MB, less than 100.00% of C online submissions for Arithmetic Slices II - Subsequence.
Accepted Solutions Runtime Distribution
Sorry. We do not have enough accepted submissions to show distribution chart.
Accepted Solutions Memory Distribution
Sorry. We do not have enough accepted submissions to show distribution chart.
Invite friends to challenge Arithmetic Slices II - Subsequence
 1 //446
 2 //Runtime: 799 ms
 3 //Memory Usage: 240.9 MB
 4 
 5 struct hashTable {
 6     long long key;
 7     int val;
 8     int init;
 9     UT_hash_handle hh;
10 };
11 
12 struct hashTable* dict;
13 
14 struct hashTable* find(long long k) {
15     struct hashTable* t;
16     HASH_FIND(hh, dict, &k, sizeof(long long), t);
17     return t;
18 }
19 
20 int min(int a, int b) {
21     return a<b?a:b;
22 }
23 
24 void insert(long long k, int v, int id) {
25     struct hashTable* t = malloc(sizeof(struct hashTable));
26     t->key = k;
27     t->val = v;
28     t->init = id;
29     HASH_ADD(hh, dict, key, sizeof(long long), t);
30 }
31 
32 int numberOfArithmeticSlices(int* nums, int numsSize){
33     int ans = 0;
34     int cnt = 0;
35     int idx[numsSize*numsSize];
36     int cnt2 = 0;
37     int dp[numsSize][min(numsSize*numsSize,(int)10000000/numsSize)];
38     memset(dp, 0, sizeof(dp));
39     memset(idx, -1, sizeof(idx));
40     dict = NULL;
41     for(int i = 0; i < numsSize; ++i) {
42         for(int j  = 0; j < i; ++j) {
43             long long dif = (long long)nums[j] - (long long)nums[i];          
44             struct hashTable* it = find(dif);
45             if(it == NULL) {
46                 insert(dif, cnt, i);                
47                 ++cnt;
48             }
49             else {
50                 if(idx[it->val] == -1) {
51                     idx[it->val] = cnt2;
52                     dp[it->init][cnt2] = 1;
53                     dp[i][cnt2] += dp[j][cnt2] + 1;
54                     ans += dp[j][cnt2];
55                     ++cnt2;
56                 }
57                 else {
58                     dp[i][idx[it->val]] += dp[j][idx[it->val]] + 1;
59                     ans += dp[j][idx[it->val]];
60                 }
61             }
62             
63         }
64     }
65     return ans;
66 }

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国精品一区二区三区| 亚洲人成人77777线观看| 亚洲一区图片| 一本久久综合| 国产精品高潮在线| 亚洲影视九九影院在线观看| 日韩午夜av电影| 欧美性色综合| 欧美专区在线| 久久久久久免费| 亚洲高清av| 亚洲人成亚洲人成在线观看图片 | 久久av红桃一区二区小说| 亚洲神马久久| 国产亚洲毛片| 亚洲第一网站| 国产精品h在线观看| 久久福利资源站| 久久一区精品| 这里只有精品丝袜| 午夜国产不卡在线观看视频| 激情久久综艺| 99精品热视频只有精品10| 国产亚洲成人一区| 欧美激情国产日韩| 国产精品自在在线| 亚洲精品123区| 国产亚洲欧美在线| 亚洲黄色高清| 国产美女精品视频免费观看| 欧美成人a∨高清免费观看| 欧美丝袜第一区| 欧美大片第1页| 国产女主播一区| 亚洲三级免费观看| 激情五月***国产精品| 一区二区三区四区国产| 在线看片第一页欧美| 中文无字幕一区二区三区| **性色生活片久久毛片| 亚洲欧美精品在线观看| 亚洲精品视频免费在线观看| 久久国产88| 欧美一区二区精品久久911| 欧美激情视频一区二区三区不卡| 欧美怡红院视频一区二区三区| 欧美粗暴jizz性欧美20| 久热国产精品| 国产精品亚洲欧美| 亚洲美女精品一区| 亚洲国产视频一区二区| 亚洲欧美日韩国产中文| 亚洲午夜一区二区| 欧美成人一区二免费视频软件| 久久久久久久久久久久久9999 | 亚洲系列中文字幕| 日韩亚洲欧美在线观看| 久久久www| 久久精品一区四区| 国产欧美日韩三区| 亚洲一区二区黄| 亚洲综合欧美日韩| 国产精品porn| 在线亚洲伦理| 亚洲免费在线电影| 国产精品极品美女粉嫩高清在线| 亚洲精品久久久蜜桃| 亚洲区免费影片| 欧美成人精品影院| 亚洲国产影院| 中文精品视频| 国产精品久久久久av免费| 一本一本久久a久久精品综合麻豆| 99在线精品观看| 欧美日韩大片一区二区三区| 亚洲精品中文字幕有码专区| 在线视频日韩| 国产精品外国| 久久精品欧洲| 欧美成人免费全部| 亚洲欧洲日韩综合二区| 欧美激情亚洲一区| 一本到高清视频免费精品| 亚洲素人在线| 国产午夜精品一区理论片飘花 | 亚洲伊人观看| 久久久久网站| 亚洲区中文字幕| 欧美乱妇高清无乱码| 日韩视频一区二区三区在线播放免费观看 | 亚洲美女av黄| 亚洲欧美日韩天堂一区二区| 国产欧美亚洲精品| 久久久久www| 亚洲精品久久久久中文字幕欢迎你| 在线视频一区二区| 国产亚洲精品aa| 免费在线欧美视频| 一区二区三区回区在观看免费视频| 午夜精品婷婷| 亚洲国产精品激情在线观看| 欧美精选一区| 欧美主播一区二区三区美女 久久精品人 | 亚洲国产另类 国产精品国产免费| 欧美成人性生活| 亚洲欧美区自拍先锋| 欧美77777| 亚洲自拍偷拍麻豆| 在线观看日韩专区| 国产精品久久国产三级国电话系列 | 欧美一区国产二区| 91久久精品国产91性色| 国产精品一区二区在线观看网站 | 欧美日韩免费区域视频在线观看| 午夜精品免费在线| 亚洲人成77777在线观看网| 久久9热精品视频| 亚洲美女尤物影院| 极品尤物av久久免费看 | 久久精品国产久精国产一老狼| 亚洲国产二区| 久久一二三国产| 亚洲免费在线视频一区 二区| 亚洲韩国青草视频| 国产一区视频在线看| 欧美日韩久久精品| 欧美~级网站不卡| 欧美在线看片| 午夜国产精品视频免费体验区| 最新亚洲一区| 亚洲国产精品成人| 久久综合一区二区| 久久久久久噜噜噜久久久精品| 亚洲午夜国产一区99re久久| 亚洲精品一区二区三区99| 国内自拍视频一区二区三区| 国产精品毛片| 国产精品免费观看在线| 欧美色区777第一页| 欧美日本国产精品| 欧美男人的天堂| 欧美噜噜久久久xxx| 欧美激情欧美激情在线五月| 老司机精品导航| 免费观看在线综合| 老司机成人在线视频| 久久视频国产精品免费视频在线| 久久超碰97中文字幕| 欧美一区二区精品| 久久精品人人| 久久久999精品| 久久久久五月天| 久热爱精品视频线路一| 久久这里只有精品视频首页| 美女精品一区| 欧美大成色www永久网站婷| 欧美xx69| 欧美日韩视频在线| 国产精品香蕉在线观看| 国产性色一区二区| 伊人狠狠色j香婷婷综合| 亚洲第一天堂无码专区| 日韩午夜在线观看视频| 亚洲视频日本| 久久精品99国产精品| 老司机久久99久久精品播放免费 | 一本久道久久综合中文字幕 | 久久在线91| 欧美高清视频www夜色资源网| 欧美国产一区二区| 亚洲精品小视频在线观看| 亚洲香蕉网站| 久久久久免费| 欧美日韩一区在线视频| 国产色爱av资源综合区| 亚洲国产综合在线| 亚洲嫩草精品久久| 狂野欧美一区| 99成人免费视频| 久久国产日韩| 欧美日韩一区二区在线观看| 国产日韩av高清| 亚洲精品偷拍| 久久成人综合视频| 亚洲国产综合91精品麻豆| 亚洲一区在线免费| 欧美成人日韩| 国模大胆一区二区三区| 一本色道婷婷久久欧美| 久久久久网站| 亚洲图片在线观看| 欧美高清视频| 一色屋精品视频免费看| 老司机亚洲精品| 亚洲精品一区二区三区樱花| 亚洲私拍自拍| 午夜视频久久久| 欧美成人一区二区在线| 国产日韩欧美综合一区| 一区二区欧美激情|