美团面试算法题

简介: 1. Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, return 1->2.
1. Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.zhi
Given 1->1->1->2->3
ListNode* deleteElements(ListNode *head)
{
    if(head==NULL&&head->next==NULL)
        return head;
    ListNode *p=head;
    ListNode *q=p->next;
    while(q)
    {
        if(p->val!=q->val)
        {
            listNode *del=p->next;
            while(del!=q)
            {
                ListNode *tmp=del->next;
                delete del;
                del=tmp;
            }
            p->next=q;
            p=q;
            q=q->next;
        }
        else
        {
            q=q->next;
        }
    }
    p->next=NULL;
    return head;
}

2. 打印杨辉三角
     1
    1 1
   1 2 1
  1 3 3 1
 1 4 6 4 1
 
 输入:n, 打印前n行,不用考虑缩进
 
 void print(int n)
 {
     if(n<=0)
         return;
     if(n==1)
     {
         cout<<1<<endl;
         return;
     }
     if(n==2)
     {
         count<<1<<' '<<1<<endl;
         return;
     }
     vector<int> res={1,1};
     cout<<1<<endl;
     cout<<1<<' '<<1<<endl;
     for(int i=3;i<=n;++i)
     {
          vector<int> tmp;
          tmp.push_back(1);
          for(int j=0;j<res.size()-1;++j)
          {
              tmp.push_back(res[j]+res[j+1]);
          }
          tmp.push_back(1);
          res=tmp;
          for(auto a:res)
          {
              cout<<a<<' ';
          }
          cout<<endl;
     }
}   

 

相关文章
|
算法
面试场景题:如何设计一个抢红包随机算法
本文详细解析了抢红包随机算法的设计与实现,涵盖三种解法:随机分配法、二倍均值法和线段切割法。随机分配法通过逐次随机分配金额确保总额不变,但易导致两极分化;二倍均值法优化了金额分布,使每次抢到的金额更均衡;线段切割法则将总金额视为线段,通过随机切割点生成子金额,手气最佳金额可能更高。代码示例清晰,结果对比直观,为面试中类似算法题提供了全面思路。
2254 16
|
算法 Java 数据库
美团面试:百亿级分片,如何设计基因算法?
40岁老架构师尼恩在读者群中分享了关于分库分表的基因算法设计,旨在帮助大家应对一线互联网企业的面试题。文章详细介绍了分库分表的背景、分片键的设计目标和建议,以及基因法的具体应用和优缺点。通过系统化的梳理,帮助读者提升架构、设计和开发水平,顺利通过面试。
美团面试:百亿级分片,如何设计基因算法?
|
算法 Java 数据库
美团面试:百亿级分片,如何设计基因算法?
40岁老架构师尼恩分享分库分表的基因算法设计,涵盖分片键选择、水平拆分策略及基因法优化查询效率等内容,助力面试者应对大厂技术面试,提高架构设计能力。
美团面试:百亿级分片,如何设计基因算法?
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
2703 2
|
机器学习/深度学习 JavaScript 算法
面试中的网红虚拟DOM,你知多少呢?深入解读diff算法
该文章深入探讨了虚拟DOM的概念及其diff算法,解释了虚拟DOM如何最小化实际DOM的更新,以此提升web应用的性能,并详细分析了diff算法的实现机制。
|
消息中间件 存储 算法
这些年背过的面试题——实战算法篇
本文是技术人面试系列实战算法篇,面试中关于实战算法都需要了解哪些内容?一文带你详细了解,欢迎收藏!
|
JavaScript 算法 索引
【Vue面试题二十三】、你了解vue的diff算法吗?说说看
这篇文章深入分析了Vue中的diff算法,解释了其在新旧虚拟DOM节点比较中的工作机制,包括同层节点比较、循环向中间收拢的策略,并通过实例演示了diff算法的执行过程,同时提供了源码层面的解析,说明了当数据变化时,如何通过Watcher触发patch函数来更新DOM。
【Vue面试题二十三】、你了解vue的diff算法吗?说说看
|
算法
聊聊一个面试中经常出现的算法题:组合运算及其实际应用例子
聊聊一个面试中经常出现的算法题:组合运算及其实际应用例子
294 1
|
负载均衡 NoSQL 算法
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
这篇文章是关于Java面试中Redis相关问题的笔记,包括Redis事务实现、集群方案、主从复制原理、CAP和BASE理论以及负载均衡算法和类型。
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
[go 面试] 雪花算法与分布式ID生成
[go 面试] 雪花算法与分布式ID生成