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

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>
            99亚洲一区二区| 麻豆精品传媒视频| 欧美在线影院| 午夜久久影院| 久久激情网站| 噜噜噜在线观看免费视频日韩| 久久综合久久久| 亚洲第一精品电影| 久久综合久久综合久久| 你懂的视频欧美| 91久久在线视频| 亚洲一区二区动漫| 欧美一区午夜精品| 免费看亚洲片| 欧美天堂在线观看| 国产精品久久久| 国产精品日韩精品欧美在线 | 中国成人亚色综合网站| 一区二区三区四区蜜桃| 午夜精品美女久久久久av福利| 午夜在线精品| 欧美.日韩.国产.一区.二区| 国产精品扒开腿爽爽爽视频 | 欧美激情一区在线观看| 亚洲日本中文字幕| 午夜精品久久久久久| 免费久久99精品国产| 国产精品乱码| 亚洲狠狠丁香婷婷综合久久久| 亚洲专区欧美专区| 欧美a级一区| 午夜精品久久久久久久99热浪潮| 免费在线观看日韩欧美| 国产精品综合久久久| 日韩一级在线观看| 久久精品视频在线观看| 亚洲欧洲日夜超级视频| 欧美夜福利tv在线| 欧美精品亚洲一区二区在线播放| 国产亚洲aⅴaaaaaa毛片| 夜夜嗨av色综合久久久综合网| 久久久久久久久蜜桃| 一本色道久久综合狠狠躁篇怎么玩 | 一本色道久久综合亚洲精品婷婷| 午夜精品影院| 欧美午夜电影在线观看| 亚洲第一偷拍| 久久精品91久久久久久再现| 一区二区三区.www| 欧美va天堂在线| 国内久久视频| 欧美一区二区三区在线视频 | 国产目拍亚洲精品99久久精品| 一区二区电影免费在线观看| 欧美成人一区二区三区| 久久福利毛片| 国语自产精品视频在线看| 西西人体一区二区| 亚洲一级在线| 国产精品影片在线观看| 午夜精品福利在线| 亚洲一区欧美二区| 欧美性做爰毛片| 亚洲影视在线| 亚洲一区在线免费| 国产伦理精品不卡| 久久成人免费网| 欧美在线看片a免费观看| 国产视频一区二区在线观看| 欧美一区二区私人影院日本 | 亚洲精品欧美激情| 亚洲经典在线看| 欧美国产日本韩| 日韩午夜在线播放| 99国产一区二区三精品乱码| 欧美视频中文一区二区三区在线观看| 夜夜嗨av色一区二区不卡| 一区二区三区四区五区精品| 国产精自产拍久久久久久蜜| 久久久久久久久久久久久9999| 久久亚洲视频| 亚洲精品看片| 亚洲视频电影在线| 国产综合自拍| 欧美国产乱视频| 欧美福利视频在线| 午夜精品免费| 久久久蜜桃一区二区人| 亚洲人www| 亚洲一品av免费观看| 黄色国产精品| 亚洲精品视频在线播放| 国产日本欧美一区二区三区| 欧美电影在线播放| 欧美午夜视频网站| 亚洲高清网站| 亚洲欧美日韩精品综合在线观看| 亚洲欧美在线x视频| 亚洲国产综合91精品麻豆| 一本色道婷婷久久欧美| 玉米视频成人免费看| 亚洲精品日本| 国产午夜精品久久| 亚洲欧洲一区二区天堂久久| 国产精品一二三| 亚洲国产成人不卡| 国产美女诱惑一区二区| 欧美激情一二三区| 国产日韩亚洲| 一区二区三区精品国产| 1024国产精品| 亚洲欧美日韩一区在线| 一本色道综合亚洲| 美女尤物久久精品| 欧美一区影院| 欧美视频在线观看视频极品| 欧美高清在线视频观看不卡| 国产欧美日本| 在线视频一区二区| 亚洲免费黄色| 久久综合电影| 久久五月天婷婷| 国产午夜一区二区三区| 亚洲一区三区电影在线观看| 中文在线不卡| 欧美大片91| 欧美波霸影院| 国内精品一区二区三区| 欧美在线短视频| 香蕉乱码成人久久天堂爱免费| 欧美日本中文| 亚洲美女在线看| 一本大道久久a久久精品综合| 模特精品在线| 欧美国产日韩精品| 亚洲精品美女91| 欧美国产精品| 亚洲日本中文字幕免费在线不卡| 日韩午夜在线电影| 欧美日韩成人精品| 99国产精品视频免费观看一公开| 中日韩男男gay无套| 欧美日韩一区国产| 一区二区三区日韩在线观看| 午夜精品久久久久久久久| 国产精品日本一区二区| 亚洲一区国产精品| 久久精品免费播放| 激情久久五月| 蜜臀av国产精品久久久久| 欧美国产精品v| 夜夜狂射影院欧美极品| 国产精品久久久久久久久久久久久久 | 免费观看日韩av| 国产精品多人| 一区二区三区蜜桃网| 这里是久久伊人| 国产精品一香蕉国产线看观看| 欧美一区亚洲二区| 亚洲高清视频在线| 亚洲无线观看| 国产欧美日韩亚洲精品| 久久久久久自在自线| 亚洲国产专区| 欧美一级欧美一级在线播放| 黑人巨大精品欧美一区二区| 欧美1级日本1级| 这里只有精品视频| 欧美成人精品福利| 一本久道综合久久精品| 国产亚洲毛片| 欧美精品高清视频| 欧美在线播放一区| 日韩视频免费观看| 久久婷婷综合激情| 亚洲一区综合| 亚洲三级视频在线观看| 国产欧美日韩麻豆91| 欧美成人网在线| 欧美一级艳片视频免费观看| 亚洲激情网站免费观看| 欧美专区日韩专区| 亚洲视频第一页| 狠狠色综合网站久久久久久久| 欧美巨乳波霸| 久久久综合香蕉尹人综合网| av成人黄色| 亚洲区中文字幕| 蜜桃av综合| 欧美一级视频免费在线观看| 亚洲美女91| 精品动漫3d一区二区三区| 欧美四级在线| 欧美伦理影院| 欧美mv日韩mv国产网站app| 久久久999精品| 欧美一区二区在线看| 亚洲手机成人高清视频| 亚洲精品乱码久久久久| 欧美激情一区二区三区成人|