首页 > 其他分享 >2024.07.30谷歌实习

2024.07.30谷歌实习

时间:2024-09-04 18:48:16浏览次数:4  
标签:2024.07 min int res 30 储物柜 client heap 实习

1. 更衣室

一个自动化的储物柜系统被引入更衣室,当客户访问时,系统的工作方式如下:
如果客户没有被分配储物柜,系统分配给他们一个具有最小可用编号的储物柜。如果客户已经有分配的储物柜,系统打开并释放储物柜。
之后,该储物柜可以重新分配给其他客户。锁柜从1开始编号。一天开始时,所有锁柜都是空的。
系统被访问了N次。问最后一次被分配给某个客户的是哪个储物柜?

小根堆维护可用的递增序号即可

int solution(vector<string>&clients){
    int n = clients.size();
    priority_queue<int,vector<int>,greater<int>> min_heap;
    for(int i=0;i<n;i++)
        min_heap.push(i+1);//可用的编号
    unordered_map<string,int> m;//用户编号映射
    int res = 0;
    for(auto client:clients){
        if(m.count(client)){//释放
            min_heap.push(m[client]);
            m.erase(client);
        }
        else{//分配
            m[client] = min_heap.top();
            min_heap.pop();
            res = m[client];
        }
    }
    return res;
}

2. 心率最大差异

有 N 次连续的测量(编号从 0 到 N-1),在第 K 次测量中,设备记录了心率 () 和活动水平 ()
(可能的活动水平是 "Low"、"Normal" 或 "High")。求在连续的同一活动水平期间,心率最高值和最低值之间的最大差异是多少?

int solution(vector<int> &heartRate,vector<string> &activityLeve){
    string curlevel = "None";
    int mn = INT_MAX;
    int mx = INT_MIN;
    int res = 0;
    int n = heartRate.size();
    for(int i=0;i<n;i++){
        if(curlevel!=activityLeve[i]){//不连续
            mn = heartRate[i];
            mx = heartRate[i];
            curlevel = activityLeve[i];
        }
        else{
            mn = min(mn,heartRate[i]);
            mx = max(mx,heartRate[i]);
            res = mx-mn;
        }
    }
    return res;
}

标签:2024.07,min,int,res,30,储物柜,client,heap,实习
From: https://www.cnblogs.com/929code/p/18397168

相关文章

  • SCHNEIDER ATV630C22N4 220KW-380-480 变频器
    关于SCHNEIDERATV630C22N4220KW-380-480变频器,以下是一些详细的信息:一、基本信息品牌与型号:施耐德(Schneider)ATV630C22N4功率:220KW电压范围:380V-480V电源相数:三相二、产品特性应用范围:这款变频器广泛应用于水泵和电机等工业领域,其高性能和稳定性使其成为许多工业应用的理......
  • SWEN30006_2024_SM2 Specification for Automail
    Project 1: SpecificationforAutomail: Software Modellingand Design (SWEN30006_2024_SM2)Project 1:Specificationfor AutomailBackground:AutomailDeliveringSolutionsInc. (DS) has recentlydevelopedand provideda Robotic Mail Deliverysyst......
  • 每日搜索论坛总结:2024年8月30日
    以下是今天在搜索论坛上发生的事件回顾,通过搜索引擎圆桌会议和其他网络搜索论坛的视角。Yelp起诉了Google,搜索营销行业对此感到好笑。Google为GoogleAds推出了新标签诊断和同意管理设置。Google表示不会在页面上计数文字或链接。Google正在统一Google商务资料和Google本地服......
  • 代替STM32L010 STM32G030 CMS8S6990 STM8S003的芯片CW32L010
    CW32L010作为一款可以代替STM32L010STM32G030CMS8S6990STM8S003部分型号可以兼容的芯片,其功能上能够和它们相匹配,并且在功能更优秀,其芯片特点在于超低功耗,高精度ADC和主频最高可达到48MHz。CW32L010是基于eFlash的单芯片低功耗微控制器,集成了主频高达48MHz的ARM®Cort......
  • 2-STM32F103+ML307(中移4G Cat1)基本控制篇(自建物联网平台)-整体运行测试-Android扫
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ZLIOTB/ML307/my.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>  说明这节测试一......
  • H6922 低压升压恒压芯片 支持3.7V-5V-9V升12V24V30V48V54V60V72V100V 200W大功率
    H6922低压升压恒压芯片:高效能、多功能,应用于多种电源管理在当今的电子设备中,电源管理芯片扮演着至关重要的角色。其中,H6922作为一款好的低压升压恒压芯片,凭借其高效能、多功能以及应用领域,受到了市场的关注。产品概述H6922是一款外围电路简单的BOOST异步升压恒压控制驱动芯片,适用于......
  • MR30分布式IO助力绿色制氢项目顺利投产
    在未来的可持续能源格局中,能源供应离不开清洁能源。作为一种来源丰富、绿色低碳、应用广泛的二次能源,氢能正逐步成为全球能源转型发展的重要载体。氢能作为未来能源的核心要素,绿氢的制造成为重中之重。绿氢是使用可再生能源产生的剩余电力通过电解水生产的,既可用在强大的储能系统,也......
  • AI副业从0到1【心法秘籍】:3000字干货!
    前言此刻已经是午时时分,今天突然就不想分享AI工具了,说点做AI副业的干货吧,也许很多粉丝也正有这样的疑惑。我发现我的公众号里,75%以上的读者是8090后。并且45%左右的粉丝来自一线城市京沪广深。而这群人现在所面临的工作环境和生活状态,作为80后其中的一员,我也是正在深切感......
  • MeshAnything V2来了!30秒生成建模师级Mesh!最大可生成面数提升至1600.
    GitHub已揽星1.9k的MeshAnything项目上新了V2版本,由来自南洋理工大学、清华大学、帝国理工学院、西湖大学等研究人员完成。MeshAnythingV2相比V1,使用了最新提出的AdjacentMeshTokenization(AMT)算法,将最大可生成面数从800提升到了1600。只需30秒,AI就能像3D建模师一样,在各种指示下......
  • How to perform Lot Translate Transactions using Transaction Open Interface (MTI)
        HowtoperformLotTranslateTransactionsusingTransactionOpenInterface(MTI)(DocID838305.1)ToBottomInthisDocument Goal Solution......