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

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视频日韩| 欧美激情第8页| 亚洲日本免费| 亚洲欧洲在线播放| 亚洲视频碰碰| 久久精品72免费观看| 美女性感视频久久久| 欧美日韩另类在线| 国产欧美一区二区三区久久| 伊人色综合久久天天| 亚洲精品社区| 性欧美18~19sex高清播放| 久久午夜电影| 一区二区激情视频| 久久久91精品国产一区二区三区 | 国产精品一区二区久久久| 国产精品三级视频| 在线观看一区二区精品视频| 亚洲精品美女91| 欧美一区二区福利在线| 欧美激情中文不卡| 亚洲欧美激情精品一区二区| 浪潮色综合久久天堂| 国产精品美女999| 亚洲国产另类 国产精品国产免费| 女仆av观看一区| 免费在线观看一区二区| 亚洲精品中文字幕有码专区| 欧美在线看片a免费观看| 欧美激情亚洲一区| 国产一区视频在线看| 亚洲视频一区在线观看| 免费在线观看一区二区| 亚洲专区免费| 欧美日韩一区二区在线观看视频| 伊人久久成人| 欧美在线短视频| 夜夜狂射影院欧美极品| 美日韩在线观看| 国产人成精品一区二区三| 日韩一级黄色大片| 免费日本视频一区| 欧美一区二区三区视频免费播放| 欧美日韩一区二区三区在线视频 | 欧美亚日韩国产aⅴ精品中极品| 黄色成人片子| 久久精品国产99精品国产亚洲性色| 亚洲国产精品国自产拍av秋霞| 午夜久久久久久| 国产精品日日摸夜夜摸av| 亚洲午夜久久久| 亚洲精品午夜| 欧美另类69精品久久久久9999| 91久久夜色精品国产网站| 久久久青草青青国产亚洲免观| 亚洲线精品一区二区三区八戒| 欧美日韩精品欧美日韩精品一| 亚洲日本免费| 亚洲激情视频在线播放| 欧美福利一区二区| 亚洲国产精品成人| 欧美成人免费全部| 欧美成人久久| 一区二区三区精品视频| 99在线|亚洲一区二区| 国产精品vvv| 性色av一区二区怡红| 亚洲主播在线观看| 国产在线欧美日韩| 美女视频一区免费观看| 久久久亚洲欧洲日产国码αv| 1000部国产精品成人观看| 米奇777在线欧美播放| 久久精品欧洲| 亚洲精选在线| 亚洲一区美女视频在线观看免费| 国产精品网站一区| 久久婷婷人人澡人人喊人人爽| 老巨人导航500精品| 亚洲精品日本| 亚洲午夜电影| 欧美成人在线影院| 欧美高清视频免费观看| 一二三四社区欧美黄| 9久草视频在线视频精品| 国产精品久久久一区二区| 久久久五月婷婷| 欧美国产成人精品| 亚洲欧美日韩国产一区二区三区 | 国产欧美日韩中文字幕在线| 久久婷婷亚洲| 欧美日本乱大交xxxxx| 性视频1819p久久| 米奇777在线欧美播放| 亚洲一区二区三区四区中文| 久久久久国产精品麻豆ai换脸| 日韩视频在线永久播放| 午夜视频一区| 久久米奇亚洲| 一区二区高清在线| 欧美怡红院视频| 99精品国产在热久久| 欧美一级理论性理论a| 亚洲麻豆国产自偷在线| 午夜亚洲福利在线老司机| 亚洲精品国精品久久99热| 亚洲欧美国产一区二区三区| 日韩午夜激情av| 久久久久久亚洲综合影院红桃| 亚洲一二三级电影| 欧美刺激午夜性久久久久久久| 久久国产免费| 国产精品久久久久久av下载红粉| 欧美黄色免费| 在线观看欧美| 久久精品国产免费| 久久久女女女女999久久| 国产精品黄色在线观看| 欧美激情一区二区三区全黄| 狠狠色丁香婷综合久久| 亚洲专区一区| 亚洲欧美一区二区激情| 欧美日韩一区二区免费在线观看 | 欧美激情二区三区| 久久天堂国产精品| 国产欧美日韩综合| 亚洲夜间福利| 亚洲免费影视| 国产精品国产三级国产专播精品人| 亚洲人妖在线| 亚洲神马久久| 欧美三级在线播放| 亚洲免费久久| 亚洲在线一区二区| 欧美色123| 中国成人在线视频| 亚洲欧美日韩人成在线播放| 国产精品久久久久77777| 一区二区高清在线| 亚洲一区久久久| 欧美激情精品久久久久久久变态| 欧美日韩免费网站| 亚洲国产精品一区二区第一页| 亚洲黄色在线| 欧美日韩国产在线看| 99成人免费视频| 亚洲欧美国产视频| 国产伦精品一区二区三区视频黑人 | 亚洲高清视频在线观看| 一本色道久久88综合亚洲精品ⅰ | 欧美成人精品高清在线播放| 影音先锋久久精品| 欧美sm极限捆绑bd| 亚洲精品日本| 欧美在线观看视频一区二区| 国产亚洲欧美另类一区二区三区| 久久高清福利视频| 欧美国产日韩一区二区三区| av成人免费在线| 国产精品网站在线播放| 久久久久九九九| 亚洲美女av在线播放| 欧美在线观看你懂的| 亚洲国产综合91精品麻豆| 欧美日韩福利在线观看| 亚洲欧美日韩视频二区| 欧美国产视频日韩| 亚洲一区三区电影在线观看| 国产美女精品人人做人人爽| 老司机久久99久久精品播放免费| 日韩视频在线免费观看| 久久久久.com| 亚洲美女在线视频| 国产精品一级| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美黄色免费网站| 亚洲午夜电影| 亚洲黄色影片| 久久综合九色综合久99| 亚洲午夜电影| 亚洲激情偷拍| 国产精品一区二区三区观看| 欧美成熟视频| 久久精品欧美日韩| 亚洲网站在线看| 亚洲国产婷婷| 麻豆精品精华液| 欧美中文在线视频| 亚洲尤物在线| 亚洲美女在线看| 亚洲国产美女精品久久久久∴| 国产免费成人| 国产精品国产精品国产专区不蜜| 蜜月aⅴ免费一区二区三区|