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

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>
            久久精品国产亚洲aⅴ| 国产精品乱码人人做人人爱| 亚洲国产婷婷| 欧美国产亚洲精品久久久8v| 久久―日本道色综合久久| 久久精品中文字幕一区| 久久综合狠狠| 亚洲国产精品久久久| 99国产精品久久| 欧美一区二区在线| 免费成人黄色片| 欧美美女bb生活片| 国产精品欧美久久| 狠狠综合久久av一区二区小说| 在线观看欧美黄色| 一区二区高清视频| 久久蜜桃精品| 亚洲日本欧美日韩高观看| 久久精品欧美日韩精品| 欧美午夜电影在线观看| 国产精品入口66mio| 国产精品爽爽ⅴa在线观看| 国模 一区 二区 三区| 亚洲国产日韩欧美在线99 | 极品尤物av久久免费看 | 国产精品一级在线| 一区二区三区亚洲| 亚洲一区二区三区精品在线观看| 欧美在线观看网站| 亚洲激情校园春色| 欧美一区二区三区四区在线| 欧美/亚洲一区| 国产精品一区二区三区成人| 91久久在线播放| 久久精品日韩欧美| 99re在线精品| 麻豆精品91| 国产日韩在线视频| 亚洲无限av看| 欧美国产1区2区| 欧美在线中文字幕| 国产精品女人网站| 亚洲一区二区三区精品在线| 欧美激情 亚洲a∨综合| 欧美亚洲在线视频| 国产精品久久久一区麻豆最新章节 | 国产亚洲网站| 亚洲在线日韩| 亚洲乱码国产乱码精品精可以看| 久久精品国产久精国产爱| 国产精品久久| 亚洲午夜国产成人av电影男同| 亚洲高清在线播放| 久久午夜精品| 在线欧美亚洲| 欧美11—12娇小xxxx| 欧美中文字幕不卡| 国产亚洲一区二区三区| 亚洲欧美精品在线观看| 一本久道综合久久精品| 欧美日韩一卡| 午夜免费在线观看精品视频| 这里只有精品丝袜| 国产精品久久久久9999高清| 久久国产精品一区二区| 国产亚洲精品久久久久久| 欧美一级黄色录像| 在线播放精品| 亚洲免费观看在线视频| 欧美福利在线| 久久野战av| 亚洲国产美女| 亚洲日韩视频| 欧美午夜欧美| 久久www成人_看片免费不卡| 午夜精品久久久久久久男人的天堂| 国产精品亚洲欧美| 久久精品伊人| 美女性感视频久久久| 亚洲美女网站| 亚洲一区二区三区在线| 国产丝袜美腿一区二区三区| 久久久噜噜噜久噜久久| 久久综合激情| 亚洲一区二区视频在线观看| 亚洲欧美日韩在线观看a三区| 国产丝袜一区二区三区| 欧美福利在线| 国产精品中文在线| 你懂的视频一区二区| 欧美激情一区二区三区在线 | 黄色小说综合网站| 亚洲国产精品一区二区第一页 | 亚洲欧美在线一区| 在线看成人片| 亚洲桃花岛网站| 在线电影欧美日韩一区二区私密| 亚洲精品视频啊美女在线直播| 国产精品婷婷| 亚洲高清电影| 国产精品一卡二| 最新国产の精品合集bt伙计| 国产精品久久二区二区| 欧美国产精品va在线观看| 欧美午夜不卡视频| 美女精品视频一区| 国产精品色婷婷久久58| 亚洲国产一区二区三区在线播| 国产精品美女| 欧美激情精品久久久六区热门 | 亚洲国内精品在线| 国产伦精品一区二区三区四区免费| 国产原创一区二区| 亚洲乱码国产乱码精品精| 精品成人一区二区| 亚洲欧美卡通另类91av| 日韩天堂av| 久久噜噜噜精品国产亚洲综合| 欧美在线免费| 久久久久久久久久久久久女国产乱| 亚洲精品1区| 亚洲欧美网站| 亚洲视频在线一区观看| 免费观看国产成人| 久久视频免费观看| 国产精品欧美在线| 日韩视频国产视频| 亚洲精品综合久久中文字幕| 久久久久看片| 久久夜色精品国产| 国产欧美精品xxxx另类| 一区二区三区免费在线观看| 99pao成人国产永久免费视频| 麻豆国产精品777777在线| 免费看av成人| 亚洲电影在线播放| 久久亚裔精品欧美| 久久免费视频在线| 国语精品中文字幕| 久久久噜久噜久久综合| 欧美成人精品不卡视频在线观看 | 欧美激情乱人伦| 欧美www视频在线观看| 伊人春色精品| 美女久久网站| 亚洲国产精品va在线看黑人 | 99天天综合性| 欧美精品免费观看二区| 亚洲毛片在线观看| 亚洲丝袜av一区| 国产乱肥老妇国产一区二| 亚洲一区二区网站| 久久久久88色偷偷免费| 一区在线播放视频| 美国三级日本三级久久99| 亚洲国产婷婷| 亚洲性色视频| 国内外成人免费视频| 久久人人超碰| 99riav1国产精品视频| 性欧美暴力猛交另类hd| 国内精品久久久久国产盗摄免费观看完整版| 欧美中文字幕在线播放| 亚洲第一天堂av| 亚洲综合电影| 精品91久久久久| 欧美欧美全黄| 欧美在线啊v| 亚洲国产小视频| 久久精品首页| 一区二区欧美国产| 狠狠色狠色综合曰曰| 欧美护士18xxxxhd| 亚洲欧美日韩在线不卡| 亚洲国产裸拍裸体视频在线观看乱了| 麻豆精品网站| 一区二区欧美亚洲| 男人的天堂亚洲在线| 亚洲免费在线电影| 亚洲激情专区| 国语对白精品一区二区| 欧美日韩精品中文字幕| 久久久成人网| 亚洲一区自拍| 亚洲国产成人午夜在线一区| 欧美成人精品在线观看| 亚洲精品中文字幕女同| 国产伦精品一区二区三区视频黑人| 老司机精品久久| 亚洲私人黄色宅男| 亚洲国产一区二区三区高清| 欧美一区亚洲一区| 亚洲一区二区视频| 亚洲美女av黄| **欧美日韩vr在线| 国产有码在线一区二区视频| 国产精品国内视频| 欧美日在线观看| 欧美黄色免费| 女同性一区二区三区人了人一|