面试笔试编程题,有趣的数学题,有趣的智力题
这里放着有趣的面试笔试编程题&有趣的数学题&有趣的智力题
Lawliet_ZMZ
ACMERandNODER
展开
-
6.22周赛 Elevator 电梯模拟
input.txt / output.txtStatementsThe Berland State Building is the highest building in the capital of Berland. Curious Polikarp was studying the principle of operation of an elevator in the Berla原创 2017-06-22 22:03:09 · 726 阅读 · 0 评论 -
剑指offer(三) 从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。这个其实我才出题人是想考察递归的,但是做法可以直接另开个数组,遍历链表的时候push链表val值,最后reverse即可。但是递归方法更加优美啊,通过递归进入链表底部,从下往上push,其实就是用递归模拟了栈的思想,我一直认为栈就是用迭代来模拟递归的过程。那么递归可以做,栈肯定也就可以做这道题。为了巩固JS,以后刷题尽量使用JS吧。 注意牛客原创 2017-12-25 15:19:31 · 375 阅读 · 0 评论 -
leetcode136. Single Number 亦或Xor原理
以前tao哥就讲过,在Leetcode里面分类是一个Easy的问题。public class Solution { public int singleNumber(int[] nums) { int ans = 0; for(int e : nums) { ans ^= e;原创 2018-02-02 06:08:06 · 265 阅读 · 0 评论 -
HDU 1003 最大子序列和
#include using namespace std; int main() { int j,i,k,n,m,t; int a[100002]; scanf("%d",&t); for (j=1;j { scanf("%d",&n); for (i=0;i原创 2016-05-14 15:49:53 · 605 阅读 · 0 评论 -
PATL2-002. 链表去重。细心,格式
L2-002. 链表去重时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点。即对任意键值K,只有键值或其绝对值等于K的第原创 2017-03-16 18:17:28 · 2023 阅读 · 0 评论 -
L2-005. 集合相似度 数组&Sets容器
L2-005. 集合相似度时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定两个整数集合,它们的相似度定义为:Nc/Nt*100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不原创 2017-03-17 22:30:49 · 380 阅读 · 5 评论 -
打印Smith数 求质因数&判断质数&数位相加
问题:输出400以内的Smith数。Smith数是指满足下列条件的可分解的整数: 其所有数位上的数字和=其全部素数因子的数字总和例如,9975是Smith数,9975=3*5*5*7*19,即9975的数字和=因子的数字总和=30注意相加都是数位相加,而且是要可以分解的数,意思是质数就不能了。Java实现:import java.util.*;cl原创 2017-03-18 17:33:31 · 1831 阅读 · 0 评论 -
L2-008 最长对称字串 以下标i展开
L2-008. 最长对称子串时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定"Is PAT&TAP symmetric?",最长对称子串为"原创 2017-03-21 20:33:32 · 414 阅读 · 0 评论 -
L2-009. 抢红包 结构体排序
L2-009. 抢红包时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第原创 2017-03-22 20:44:13 · 668 阅读 · 0 评论 -
L2-010. 排座位
L2-010. 排座位时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,原创 2017-03-23 12:12:38 · 550 阅读 · 0 评论 -
L2-006. 树的遍历
L2-006. 树的遍历时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第原创 2017-03-24 00:22:46 · 484 阅读 · 0 评论 -
2017 Hackatari Codeathon H-card
H. Cardtime limit per test0.5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAfter Hasan ruined the Worm puzzle, Rula brought原创 2017-04-02 17:42:55 · 364 阅读 · 0 评论 -
POJ 2051 优先队列维护
ArgusTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 11381 Accepted: 5506DescriptionA data stream is a real-time, continuous, ordered sequence of item原创 2017-04-05 20:48:17 · 456 阅读 · 0 评论 -
PAT-L1古风排版 打印字符串和处理
L1-039. 古风排版时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个原创 2017-04-26 21:06:47 · 695 阅读 · 0 评论 -
poj 3070 斐波拉切快速幂公式
FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 14923 Accepted: 10496DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn =原创 2017-05-01 15:06:40 · 693 阅读 · 0 评论 -
HDU 2680 有点坑的稠密图最短路(dij各版本)
Choose the best routeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14431 Accepted Submission(s): 4711Problem DescriptionOne原创 2017-05-03 14:36:49 · 406 阅读 · 0 评论 -
Gym - 100712B 预处理暴力
题意:A是固定出的, Rock for the first Xrounds, Paper for the next Yrounds, andScissors for the last Zrounds.,加起来为n,每个大于等于0.给出B的出拳,问怎么赢:思路:直接枚举的话需要三段0~i,i~j,j~n三重有超时风险。这里预处理,把三种出法的n次情况全部存在数组里。然后最后原创 2017-05-07 22:02:04 · 394 阅读 · 0 评论 -
Gym-100712J 桶排序思想&反向思维
给一群儿童分配糖果,每位儿童只能一包,满足一些条件,“公平分配”:相同年龄的分一样多,年龄大的必须分的比前者多。三行,第二行是儿童的年龄,第三行是包里的糖果思路: 数据够小,儿童年龄只在5到15,直接暴力,利用桶排序的思想,把儿童和糖果的数量存在a和b数组中,下标即是他们的标号,这样从1开始,默认就排了序。从5到15岁数遍历,下标a是从5开始,b是从1开始,#i原创 2017-05-07 22:21:10 · 389 阅读 · 0 评论 -
HDU 2017女生赛04 (变形最短路)
Deleting EdgesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 263 Accepted Submission(s): 85Problem DescriptionLittle Q is原创 2017-05-10 03:01:45 · 498 阅读 · 0 评论 -
组队赛 A Promotions 深搜+逆向思维
题意:一个公司总共n个人,m个关系,u v 表示u是v的上司,现在要提拔l个和r个人,原创 2017-05-20 18:44:01 · 363 阅读 · 0 评论 -
2017年校招全国统一模拟笔试(第三场)编程题集合
(我是先写在博客园上的,然后这里直接没改格式,可能有点乱,我的博客园链接:传送门 )牛客上的题和蓝桥暴力杯的差不多吧。。。。模拟,要考虑各种情况1.20亿大小,int都没超附上速查表,int 21亿多傻逼了,还用字符串#include <iostream>#include <cstdio>#include <cstring>using namespace ...原创 2017-06-26 10:10:44 · 580 阅读 · 0 评论 -
网易2016校园招聘笔试题 最后一题压轴题(较难dp)
小易有n块砖块,每一块砖块有一个高度。小易希望利用这些砖块堆砌两座相同高度的塔。为了让问题简单,砖块堆砌就是简单的高度相加,某一块砖只能使用在一座塔中一次。小易现在让能够堆砌出来的两座塔的高度尽量高,小易能否完成呢。输入描述: 输入包括两行:第一行为整数n(1 ≤ n ≤ 50),即一共有n块砖块,第二行为n个整数,表示每一块砖块的高度height[i] (1 ≤ height[i]原创 2017-09-04 21:05:20 · 584 阅读 · 0 评论 -
三种快速排序以及快速排序的优化
因为今天又深入看了下快速排序,加上以前的理解:http://blog.youkuaiyun.com/major_zhang/article/details/54314894 http://blog.youkuaiyun.com/major_zhang/article/details/51714777找了一些资料,其中提到了很多关于快速排序算法的缺陷和优化。这里看到一片好的关于快排的优化的博客,代码也有,特此分享一下。原创 2017-09-08 20:38:43 · 734 阅读 · 0 评论 -
一道区间dp和一道字符串
牛X网测试rating系统,叶神开的bnu的重现赛,送8个T恤,就做了两个题参与下抽奖,打了三场了,不出意料的都没抽中我 =-= 第一道:小Q同学为了准备今年的ICPC Regional,计划在天之内刷掉道题,每道题有一个难度值,其中第道题的难度值为。然而处于半颓废状态中的小Q同学不希望在同一天中做难度差距悬殊的题目,定义第天中刷的题的难度的最大值减最小值为(如果第天没有刷题,原创 2017-10-01 14:37:43 · 297 阅读 · 0 评论 -
leetcode32 Longest Valid Parentheses 最长有效括号序列
题目:Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substring is "()", w原创 2017-10-05 22:01:21 · 393 阅读 · 0 评论 -
10.9wannafly模拟赛
反正即使抱着抽奖去的,做了两个签到题嘛。题目描述一只南美洲亚马孙河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可以在两周以后引起美国德克萨斯州的一场龙卷风。――蝴蝶效应由于这个理论的存在,大多数人认为将未来的事物送回过去将会引发严重的时间悖论,但事实上还存在另外一套理论。自然会对这类不和谐的蝴蝶效应做出调整,具体地来说就是触发一些小概率的恶性事件来抹杀穿越者来消除其对未原创 2017-10-12 10:22:56 · 250 阅读 · 0 评论 -
14. Longest Common Prefix 最长公共前缀子串
14. Longest Common PrefixDescriptionHintsSubmissionsDiscussSolution DiscussPick One Write a function to find the longest common prefix string amongst an arra原创 2017-10-27 19:54:23 · 372 阅读 · 0 评论 -
49. Group Anagrams
Given an array of strings, group anagrams together.For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return:[ ["ate", "eat","tea"], ["nat","tan"], ["bat"]] Note: A原创 2017-11-04 00:19:36 · 188 阅读 · 0 评论 -
剑指offer(一) 二维数组的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 第一种方法,在每一行进行二分查找,NlogN。第二种方法,也可能是最好的,因为已经是有序的,我们选取左下角或者右上角,每次进行判断大小,选择上移或者右移,这样每次都有贪心选择,但是这样的时间复杂度怎么确原创 2017-11-05 21:52:41 · 253 阅读 · 0 评论 -
剑指offer(二) 替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。一开始想到是split("\\s"),但是发现有"hello " "hello hello "的数据啊,分割后空格是不会被分配到一个数组,然后就直接replaceAll了,和replace的区别就是前者支持正则把。原创 2017-11-07 19:31:19 · 223 阅读 · 0 评论 -
剑指offer(四) 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这道题就比较经典了,经典递归。JS版:(我加了测试) function TreeNode(x) { this.val = x; this.原创 2017-12-25 15:23:01 · 186 阅读 · 0 评论 -
python 快排+动态交换优化
正常的代码,比较直观的:a = list([4,2,1,7,4,9,6,5,0,3,8]);print(a)def quicksort(left,right) : if left>right: return # 当i变为left值,第一次结束递归的条件是在左边的,当只有一个数后,递归的left传入本身, # right传入i-1,此时left是等于right的原创 2017-12-28 22:44:29 · 382 阅读 · 0 评论 -
剑指offer(五,六),用两个栈实现队列,旋转数组的最小数字
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 一个栈就是把队列反过来,那再来一个栈push进第一个栈就“正”过来了。 第一个栈就是存下反过来的序列。 每次push进一个数,要先判断stack2“正”序列是否为空,不为空要还原“反序列”,还要stack1 push进所有的stack2。 每次pop一个数,把stack1全部push进来,就变成了原创 2017-12-31 01:45:51 · 253 阅读 · 0 评论 -
剑指offer(七,八),斐波拉切数列,跳台阶
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。大概所有同学C语言课程都敲过吧,那么这里我就不说那两个简单的方法,递归和迭代。但是比较大的情况呢,甚至超过int范围,这就要考虑数学问题。 用矩阵计算的,在线性代数里的计算方法就是n的次方结合矩阵快速幂,时间复杂度是logn,快速幂的时间复杂度,比普通的迭代n的复杂度低,也解决了大数的问题(原创 2018-01-06 20:27:26 · 427 阅读 · 0 评论 -
剑指offer(九,十) 变态跳台阶,矩形覆盖
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。一开始的思路最暴力的就是打表,没想到直接过了。。数据弱嘛class Solution {int ans[105] = {1,2,4,8};public: int jumpFloorII(int number) { for(int i =原创 2018-01-10 18:20:52 · 251 阅读 · 0 评论 -
剑指offer(十一) 二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。剑指offer的题做起来真是可以补坑。。。这道题一看就是要用位运算来解决了。位运算的需要点计算机组成原理的知识,不然这道题还是有小坑的。首先正数和负数在内存中都是以补码存储的,正数的补码就是它本身,负数的补码是它的绝对值取反加一。关于原码反码补码,详解可看: http://blog.youkuaiyun.com/u011原创 2018-01-11 00:03:26 · 269 阅读 · 0 评论 -
剑指offer(十二,十三) 数值的整数次方,调整数组顺序使奇数位于偶数前面
1.数值的整数次方时间限制:1秒 空间限制:32768K 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。标准的快速幂。。。注意base为0 return 0,我用JS抛出错误在oj上错了 QAQ 还有就是负数的情况,变正,然后倒回来。 其实这个base是double类型,C++里面的话不能直接比较,需要写个原创 2018-02-01 00:39:17 · 236 阅读 · 0 评论 -
leetcode31. Next Permutation 求下一个最小的字典序序列
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible o原创 2018-02-02 05:45:34 · 533 阅读 · 0 评论 -
leetcode19. Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.For example,Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, the linked原创 2018-02-02 05:47:46 · 176 阅读 · 0 评论 -
leetcode11. Container With Most Water
Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two li原创 2018-02-02 05:48:45 · 155 阅读 · 0 评论