
面试题整理
pipiang
这个作者很懒,什么都没留下…
展开
-
leetcode198
题目描述:leetcode198你是一个专业的强盗,计划去抢一条街上的房子。每个房子里都有一定量的钱,唯一限制你抢掉所有房子里的钱的是:相邻的房子的安保系统是连接在一起的,如果相邻的两个房子在同一晚上都被盗的话就会自动报警。给出一系列非负的整数代表每个房子内的金钱数量,计算你今晚不触发报警条件的情况下可以抢到的最多的钱。分析:共有n家店抢,不能连续抢两家求如何抢最多。相当于给你一个数组int[] ...原创 2018-02-19 13:12:10 · 276 阅读 · 0 评论 -
链式A+B
有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。测试样例:{1,2,3},{3,2,1}返回:{4,4,4}思路一把存储在链表中的数转换成数字相加后再把数字中的每一位由低到高取出存入一个链表返回节点为p...原创 2018-02-19 14:23:55 · 157 阅读 · 0 评论 -
回文链表
请编写一个函数,检查链表是否为回文。给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:false思路一 先把链表值存到栈中 然后遍历链表与栈弹出的值比较。栈中的值是从尾到头的这样就实现了第一个与倒数第一个匹配比较如果不一样则返回false public boolean isPalindro...原创 2018-02-19 15:32:23 · 385 阅读 · 0 评论 -
集合栈
请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈。该数据结构应支持与普通栈相同的push和pop操作。给定一个操作序列int[][2] ope(C++为vector&ltvector&ltint>>),每个操作的第一个数代表操作类型,若为1,则为push操作,后一个数为应push的数字;若为2,则为po...原创 2018-02-19 16:22:13 · 154 阅读 · 0 评论 -
双栈排序
题目描述: 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。测试样例:[1,2,3,4,5]返回:[5,4,3,2,1]思路先...原创 2018-02-19 19:52:04 · 412 阅读 · 0 评论 -
猫狗收容所
题目描述: 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。 给定一个操作序列int[][2] ope(C++中为vector<vector<int>>)代表所有事件。若第一个元素为1,则代表有动物进入收容所,第二个元...原创 2018-02-19 20:20:07 · 331 阅读 · 0 评论