微软100题40题-设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。

发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.csdn.net/course/detail/27109

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

第三个视频发布:https://edu.csdn.net/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------

 

/**
 * <p>File:Test_40.java</p>
 * <p>Title: </p>
 * <p>Description:</p>
 40.百度研发笔试题(栈、算法)
引用自:zp155334877
1)设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。
2)一串首尾相连的珠子(m个),有N种颜色(N<=10),
设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。
并分析时间复杂度与空间复杂度。
3)设计一个系统处理词语搭配问题,比如说 中国 和人民可以搭配,
则中国人民 人民中国都有效。要求:
  *系统每秒的查询数量可能上千次;
  *词语的数量级为10W;
  *每个词至多可以与1W个词搭配
当用户输入中国人民的时候,要求返回与这个搭配词组相关的信息。
 */
public class Test_40_1
{
    public static  class Stack{
        private int [] popPushArray=new int[1024];
        private int indexPopPush=-1;
        private int[] minArray=new int[1024];
        private int indexMin=-1;
        
        public void push(int value){
            indexPopPush++;
            popPushArray[indexPopPush]=value;
            if(indexMin==-1){
                indexMin++;
                minArray[indexMin]=value;
            }else{
                if(minArray[(indexMin)]>value){
                    indexMin++;
                    minArray[indexMin]=value;
                }
            }
        }
        
        public Integer pop(){
            if(indexPopPush==-1){
                return null;
            }
            int value=popPushArray[indexPopPush];
            indexPopPush--;
            if(value==minArray[indexMin]){
                indexMin--;
            }
            return value;
        }
        
        public Integer min(){
            if(indexMin<0){
                return null;
            }
            int value=minArray[indexMin];
            indexMin--;
            return value;
        }
    }
    public static void main(String[] args)
    {
        Stack s=new Stack();
        s.push(1);
        s.push(-1);
        s.push(10);
        s.push(-2);
        s.pop();
        s.push(-3);
        s.push(3);
        s.pop();
        s.pop();
        System.out.println(s.pop());
        System.out.println(s.min());
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值