首页 > 其他分享 >904. 水果成篮

904. 水果成篮

时间:2024-09-12 21:35:44浏览次数:9  
标签:水果 right maxNum 904 curNum fruits basket tempLeft 成篮

改不了C的思维

 

class Solution {
public:
    int totalFruit(vector<int>& fruits) {
        if(fruits.size() <= 2) return fruits.size();
        int left = 0, right = 0, curNum = 0, maxNum = INT_MIN;
        int basket[2] = {-1, -1};
        while(left <= right && right < fruits.size()){
            if(fruits[right] == basket[0] || fruits[right] == basket[1]){
                ++curNum;
                ++right;
                if(curNum > maxNum) maxNum = curNum;
            }else if(basket[0] == -1){
                basket[0] = fruits[right++];
                ++curNum;
                if(curNum > maxNum) maxNum = curNum;
            }else if(basket[1] == -1){
                basket[1] = fruits[right++];
                ++curNum;
                if(curNum > maxNum) maxNum = curNum;
            }else{
                int tempLeft = right -1;
                while(tempLeft > 0 && fruits[tempLeft -1] == fruits[tempLeft]) --tempLeft;
                left = tempLeft;
                curNum = right - left;
                if(basket[0] == fruits[left]){
                    basket[1] = -1;
                }else{
                    basket[0] = -1;
                }
            }
        }
        return maxNum;
    }
};

 

标签:水果,right,maxNum,904,curNum,fruits,basket,tempLeft,成篮
From: https://www.cnblogs.com/llllmz/p/18411134

相关文章

  • 20240904_192638 mysql 填空题 存储过程进阶
    定义一个存储过程的形参,它接收数据,参数名为id,为int类型inidint定义一个存储过程的形参,它返回数据,参数名为name,是varchar(5)类型outnamevarchar(5)定义一个存储过程的形参,它一边接收数据一边返回数据,参数名为num,是int类型inoutnumint声明一个名为info的游标,保存查询teac......
  • 20240911_190441 公共基础 栈
    什么是栈栈的特点栈的出入演练习题31习题30习题b习题b习题习题a习题c......
  • springboot+vue水果销售系统【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着现代科技的飞速发展和消费者购物习惯的不断变化,传统水果销售模式正面临着前所未有的挑战与机遇。传统市场受限于地理位置、信息不对称及库存管理不善等问题,难以满足消费者日益增长的多元化、便捷化需求。与此同时,电子商务的兴起为......
  • 计算机毕业设计必看必学!! 09040 Springboot智能购房推荐系统,原创定制程序, java、PHP
    摘 要近年来随着我国经济的高速发展,房地产业也随之蓬勃发展,尤其是最近国家新出台的房改政策。鼓励居民购房,这对房产公司无疑是一个极好的发展势头。尤为重要的是,近几年随着信息技术和电子商务的快速发展,许多企业都开发了自己房产信息软件。智能购房推荐系统主要针对房屋......
  • 20240904_182638 mysql 填空题 变量
    查看所有的系统变量名称showvariables查看所有系统变量中以auto开头的名称showvariableslike'auto%'查看系统变量autocommit的值select@@autocommit设置系统变量autocommit的值为1setautocommit=1设置自定义变量name的值为'tom'set@name='tom'查看自定义变量nam......
  • 20240904_172638 mysql 填空题 存储过程
    创建一个名为p1的存储过程,只写第一行createprocedurep1()存储过程的开始,单词begin存储过程的结束,单词end调用名为p1的存储过程,不传参数callp1()修改每行命令的结束符号,改成$$delimiter$$查看名为p1的存储过程的创建语句showcreateprocedurep1删除名为p1的存储过......
  • 0904,关联式容器针对于自定义形式的写法(
    目录001_set.cc 002_set.cc   坏,我就说怎么想着不对嘻嘻003_setAA_Person.cc作业01 list拥有哪些特有的操作,其功能是什么,请举例说明。02 问答题:STL中的emplace_back和push_back有什么区别?提示:可以从构建方式、性能等方面作答。03 自己独立实现出set针对于Poin......
  • 20240904:字符串选做
    P4555[国家集训队]最长双回文串题意:给定字符串\(s\),找到他最长双回文串\(t\)的长度。双回文串定义为存在一个\(i>1\)使得\(t[1,i)\)和\(t[i,n]\)都是回文串。\(\verts\vert\le10^5\)。二分哈希求出所有回文中心的半径,设以\(i\)为中心的最长回文串为\([l_i,......
  • 【经验分享】Q&A -- 更新至0904
    由于文档形式更新太慢了,而联系我的同学好多,没想到可以收集到这么多有意义有价值的小问题而且更新到网页里,就不存在markdown文档大家不会查看的问题啦~from:zztupd:最新更新0904,主要更新创业模块。全部回答都只是个人的主观想法~本文目的也只是想能够对一些同学有所帮助,哪......
  • 20240904_132638 mysql 填空题 备份与恢复
    备份数据,以root用户身份,提示输入密码后,将my_school数据库的所有结构和数据导出为SQL语句,并将这些SQL语句保存到当前目录下的bf.sql文件中mysqldump-uroot-pmy_school>bf.sql恢复数据,以root用户的身份连接到MySQL服务器,然后执行bf.sql的命令把数据恢复到my_s......