Leetcode-904 水果成篮

 1 class Solution
 2 {
 3     public:
 4         int totalFruit(vector<int>& tree)
 5         {
 6             vector<pair<int,int>> dealList;
 7             int curType = tree[0];
 8             int curSum = 1;
 9             for(int i = 1; i < tree.size(); i ++)
10             {
11                 if(tree[i]==curType)
12                     curSum ++;
13                 else
14                 {
15                     dealList.push_back(make_pair(curType,curSum));
16                     curSum = 1;
17                     curType = tree[i];
18                 }
19             }
20             dealList.push_back(make_pair(curType,curSum));
21
22         //    for(auto d:dealList)
23         //        cout << d.first << " " << d.second << endl;
24         //    cout << endl;
25
26             int result = dealList[0].second;
27             int max = 1;
28             int typeA = dealList[0].first,typeB = -1;
29             int justI;
30             for(int i = 1; i < dealList.size(); i ++)
31             {
32                 if(dealList[i].first != typeA && typeB == -1)
33                 {
34                     typeB = dealList[i].first;
35                     result += dealList[i].second;
36                     justI = i;
37                     //cout << dealList[i].first << endl;
38                 }
39                 else if(dealList[i].first == typeA || dealList[i].first==typeB)
40                 {
41                     result += dealList[i].second;
42                     //    cout << dealList[i].first << endl;
43                 }
44                 else if(dealList[i].first != typeA && dealList[i].first != typeB)
45                 {
46                 //    cout << dealList[i].first << endl;
47                     result = dealList[justI].second;
48                     i = justI;
49                     typeB = -1;
50                     typeA = dealList[justI].first;
51                 }
52                 //    cout << dealList[i].first << endl;
53                 if(result > max)
54                     max = result;
55             }
56             if(result > max)
57                 max = result;
58             return max;
59         }
60 };

原文地址:https://www.cnblogs.com/Asurudo/p/9655579.html

时间: 2024-10-15 00:57:30

Leetcode-904 水果成篮的相关文章

Leetcode[274]H指数&amp;[904]水果成篮

最近忙于论文和实习,好久没有刷题了,之前立下的关于triplet loss的flag也莫得了. 某公司压力太大,已离职,希望利用好学生生涯最后一点时间,认认真真找个工作,扎扎实实提高自己技术水平. 其实这两道题都特别简单,均是自己在没有提示的情况下做出来的. 第一道题一个排序再一个遍历就结束了,我从没见过这么简单的medium,是因为我的方法太笨了吗? bool compare(const int a, const int b) {return b < a;} class Solution {

【python-leetcode904-滑动窗口法】水果成篮

问题描述: 在一排树中,第 i 棵树产生 tree[i] 型的水果.你可以从你选择的任何树开始,然后重复执行以下步骤:把这棵树上的水果放进你的篮子里.如果你做不到,就停下来.移动到当前树右侧的下一棵树.如果右边没有树,就停下来.请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1,然后执行步骤 2,依此类推,直至停止.你有两个篮子,每个篮子可以携带任何数量的水果,但你希望每个篮子只携带一种类型的水果.用这个程序你能收集的水果总量是多少? 示例 1: 输入

[LeetCode] 904. Fruit Into Baskets 水果装入果篮

In a row of trees, the?i-th tree?produces?fruit with type?tree[i]. You?start at any tree?of your choice, then repeatedly perform the following steps: Add one piece of fruit from this tree to your baskets.? If you cannot, stop. Move to the next tree t

leet

# 题名1 两数之和    2 两数相加    3 无重复字符的最长子串    4 寻找两个有序数组的中位数    5 最长回文子串    6 Z 字形变换    7 整数反转    8 字符串转换整数 (atoi)    9 回文数    10 正则表达式匹配    11 盛最多水的容器    12 整数转罗马数字    13 罗马数字转整数    14 最长公共前缀    15 三数之和    16 最接近的三数之和    17 电话号码的字母组合    18 四数之和    19 删除链表

如何在.NET中实现事务(1)

http://weibo.com/4Nx5Bp/1001604190495516556593涂撑缀滦附WZG嗜又从孕 http://weibo.com/k1g40p/1001604190495562687690傥举砂妥壤DTO妨妇啬堪 http://weibo.com/jh07gp/1001604190495583665929簧柿圃僚绰QWB敬凶被犹 http://weibo.com/2mBJ1p/1001604190495621408312吐卸哉父伤QSM苍亚谰素 http://weibo.c

Win32 调试接口设计与实现浅析 [2] 调试事件

阿里妹导读:以深度学习为代表的人工智能在图像.语音和NLP领域带来了突破性的进展,在信息检索和个性化领域近几年也有不少公开文献,比如wide& deep实现了深度模型和浅层模型的结合,dssm用于计算语义相关性,deepfm增加了特征组合的能力,deep CF用深度学习实现协同过滤,rnn recommender 采用行为序列预估实现个性化推荐等. 工业级的信息检索或个性化系统是一个复杂的系统工程,深度学习的工业级应用需要具备三个条件:强大的系统计算能力,优秀的模型设计能力和合适的应用场景.今天

蜗雌字囤米椒用伦氨腊avft

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

国务院副秘书长江泽林入列地方政协委员(图)

而那道白光更是冲刺向前利剑一挥一道璀璨的蓝光剑气横扫了出去无数白光飞起 Pallanza and his wife had returned to Milan, and were making preparations for their departure, which was now near at hand. I had just come back from a visit to the Maestro with whom they were staying, and was writi

【LeetCode】- String to Integer (字符串转成整形)

[ 问题: ] Hint:Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases. Notes:It is intended for this problem to be specified vaguely (ie, no given input specs). Y