
面试经
wlisonate
坚持手撸代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【面试经典】最小栈的实现(小三转正)
1,最小栈问题题目描述:实现一个栈,该栈的出栈和入栈,取最小值的三个方法的时间复杂度都是o(1)这道题目主要考察你对栈的出入情况是否真正理解。解题思路:创建一个辅助栈,我们这里定义为栈B,同时定义一个主栈,栈A 当第一个元素进入栈A时,让新元素也进入栈B,因为此时的最小元素就是第一个元素 栈A 4 栈B 4...原创 2019-05-24 13:10:40 · 210 阅读 · 0 评论 -
陕西科技大学暑期集训热身赛(二)
1,三角形的面积题目描述我愿为自己加上private在你的class中只有你能调用Lily的老师给他出了一个问题,给出三角形的三边长abc,lily要计算出这个三角形的面积,liy比较懒(周末要睡觉嘛),现在要向你求助。输入有多组测试数据,第一行输入一个整数T表示测试数据的组数。接下来T组测试数据,每组测试数据占一行。该行包含三个整数a b c,为三角形...原创 2019-07-11 20:26:58 · 866 阅读 · 0 评论 -
每日总结——2019/7/15
1.水果分类李老板很有智慧,在春天的时候去摆摊卖应季水果,例如荔枝,菠萝,桃子啥的。但李老板是个电脑白痴,他用收银机总是找不到客人买的水果。所以要求你帮他进行水果分类。给你 N 种水果,每个水果都有一个名字和一个类别,都是字符串且长度不超过 20。输入输入只有一组。第一行是 n。 (1 ≤ n ≤ 100)接下来 n 行。每行输出两个字符串,以空格相隔,分别表示...原创 2019-07-15 23:40:05 · 268 阅读 · 1 评论 -
【面试经典】括号匹配
举例:[],[[]],[[][]]等都是合法的题目描述:输入一个字符串,进行构造形成合法的括号序列输入实例:][输出实例:[][]#include<bits/stdc++.h>//万能头文件声明using namespace std;string s;int main(int argc, char const *argv[]) { cin>>...原创 2019-06-09 14:52:42 · 169 阅读 · 0 评论 -
最大子序列之和(贪心)
题目描述对于一个给定的长度为N的整数序列A,它的“子序列”的定义是:A中非空的一段连续的元素(整数)。你要完成的任务是,在所有可能的子序列中,找到一个子序列,该子序列中所有元素的和是最大的(跟其他所有子序列相比)。程序要求你输出这个最大值。输入输入文件的第一行包含一个整数N,第二行包含N个整数,表示A。其中1 < = N < = 100000-10000...原创 2019-06-09 12:04:47 · 1154 阅读 · 1 评论 -
【面试经典】如何判断一个数是否为2的整数次幂(三种解法)
1,先来看常规解题代码先设定一个变量temp,然后给temp每次乘2最后与给出的数进行比较代码展示void ispower(int num){ int temp=1; while(temp<=num){ if(temp==num){ cout<<"is"<<endl; break; } else{...原创 2019-05-23 23:11:11 · 2972 阅读 · 2 评论 -
【面试经典】寻找缺失的整数(找出一组数中出现次数为奇次的数)(按位与运算和异或运算的加强应用)
面试官:假设在一个无序数组中有若干个整数,范围是1~100,其中有一部分数字重复出现,有的出现次数是奇次,有的是偶数次,现在需要你从其中找出出现次数是奇次的数。(保证时间和空间复杂度最优)1,我们先来学习常用的几种操作符以及他们的用法,这道题的解法中要用到。6种位操作符:(1) & :按位“与”——仅当两个操作数为1时,结果为1,否则为0。如:1000 1000 & 1...原创 2019-05-27 21:11:38 · 436 阅读 · 0 评论 -
【面试经典】求解金矿问题(动态规划初级)
问题:有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同(情况如下图)金矿编号 黄金储量 需要人数 1 400 5 2 500 5 3 200 3 4 300 4 5 350 3 首先,动态规划方法适合的题型4个基本特点是:1、最优子结构,当前一个状态得到最佳解时,当前状...原创 2019-05-26 23:24:27 · 2952 阅读 · 2 评论 -
【面试经典】高精度相加(大整数相加)
在常规计算中我们遇到的数都可以在int范围或者是long int范围内进行计算,但是我们如果遇到比较大的数字,比如说50为数字相加,我们应该怎么办?这时候,我们就想想小时候我们在做加法计算的时候,老师教我们利用列竖式的方法进行计算,而这个算法就是回归以前的计算过程。#include<iostream>#include<cmath>#include<cst...原创 2019-05-26 15:46:04 · 316 阅读 · 1 评论 -
【面试经典】求删去K个数字后的最小值(贪心算法)
面试官:给出一个整数,从该整数中去掉K个数字,要求剩下的数字形成的新整数尽可能小假设给出一个整数1593212,删除三个数字,新整数的最小情况是121230200,删去一个数字,新整数的最小情况是200解题思路:这个题目要求我们删除K个数字,我们不妨把问题简化一下,如果只删除一个数字,如何让新整数的值变得最小?这时我们可能会想到优先删除这组数字中最大的数字,但是这是不对的,举例...原创 2019-05-25 22:23:00 · 2856 阅读 · 5 评论 -
【面试经典】寻找全排列的下一个数(字典序算法)
代码展示://字典树算法#include<iostream>// #include<cmath>// #include<algorithm>using namespace std;void swap1(int arr[] ,int a,int b){ int temp=arr[a]; arr[a]=arr[b]; arr[b]=temp...原创 2019-05-25 16:38:47 · 576 阅读 · 1 评论 -
【面试经典】利用栈实现队列
利用栈实现队列做这个题首先你得知道栈和队列的特点栈的特点是先入后出,出入元素都在同一端 队列的特点是先入先出,出入元素在不同的两端(队头和队尾)思路:我们利用两个栈实现队列,可以让其中一个栈模拟队列的入口,一个栈模拟队列的出口让元素1,2,3入队栈A 1 2 3 栈B 2....原创 2019-05-24 18:19:23 · 274 阅读 · 0 评论 -
每日总结——2019/7/18
#include <stdio.h>#include<iostream>using namespace std;int main(){ int a[20001];//储存每一位所得到的数 int temp,digit,n,i,j=0;//temp每次的得数 digit每次得数的位数 while(cin>>n){ a[0]=1;//从1开始...原创 2019-07-18 23:09:27 · 171 阅读 · 0 评论