随笔分类 -  oj记录

上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
没事刷刷oj,总是会对自己有帮助的
摘要:Q:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 T: 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找 阅读全文
posted @ 2020-02-26 20:41 Shaw_喆宇 阅读(101) 评论(0) 推荐(0)
摘要:Q:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1 2 3 3 4 4 5 处理后为 1 2 5 A:题目并不难,重要的是, 可以在head前添加一个头结点 ,防止head被删的情况。 Q:给出一个排好序的链表,删除链表中的所有重复出现 阅读全文
posted @ 2020-02-26 15:53 Shaw_喆宇 阅读(130) 评论(0) 推荐(0)
摘要:Q:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 T:第一想法就是设置快慢两个指针。 1.思路:(感谢@却顾所来径) 设置快慢指针,都从链表头出发,快指针每次 走两步 ,慢指针一次 走一步 ,假如有环,一定相遇于环中某点(结论1)。接着让两个指针分别从相遇点和链表头出发 阅读全文
posted @ 2020-02-26 12:05 Shaw_喆宇 阅读(131) 评论(0) 推荐(0)
摘要:Q:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述:如果当前字符流没有存在出现一次的字符,返回 字符。 T: 1.用hash 阅读全文
posted @ 2020-02-25 15:14 Shaw_喆宇 阅读(125) 评论(0) 推荐(0)
摘要:Q:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2"," 123","3.1416"和" 1E 16"都表示数值。 但是"12e","1a3.14","1.2.3","+ 5"和"12e+4.3"都不是。 T: 1.分情况讨论( 实际上我觉得这样写有点 阅读全文
posted @ 2020-02-25 12:36 Shaw_喆宇 阅读(119) 评论(0) 推荐(0)
摘要:Q:请实现一个函数用来匹配包括'.'和'\ '的正则表达式。模式中的字符'.'表示任意一个字符,而'\ '表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab\ ac\ a"匹配,但是与"aa.a"和"ab\ a 阅读全文
posted @ 2020-02-24 21:47 Shaw_喆宇 阅读(138) 评论(0) 推荐(0)
摘要:Q:给定一个数组$A[0,1,...,n 1]$,请构建一个数组$B[0,1,...,n 1]$,其中B中的元素$B[i]=A[0] A[1] ... A[i 1] A[i+1] ... A[n 1]$。不能使用除法。(注意:规定$B[0] = A[1] A[2] ... A[n 1]$,$B[n 阅读全文
posted @ 2020-02-23 17:09 Shaw_喆宇 阅读(116) 评论(0) 推荐(0)
摘要:Q:在一个长度为n的数组里的所有数字都在0到n 1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 T: 1.用hash。因为不 阅读全文
posted @ 2020-02-23 16:41 Shaw_喆宇 阅读(178) 评论(0) 推荐(0)
摘要:Q:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入一个字符串,包括数字字母符号,可以为空。如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 2147483647 0 T: 注意一 阅读全文
posted @ 2020-02-23 15:36 Shaw_喆宇 阅读(125) 评论(0) 推荐(0)
摘要:Q:写一个函数,求两个整数之和,要求在函数体内不得使用+、 、 、/四则运算符号。 T: 1.使用进制。 两个数异或:相当于每一位相加,而不考虑进位; 两个数相与,并左移一位:相当于求得进位; 将上述两步的结果相加 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到 阅读全文
posted @ 2020-02-22 18:52 Shaw_喆宇 阅读(136) 评论(0) 推荐(0)
摘要:Q:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 A:(感谢@hustZa) 1.用递归 2.用pow函数 3.快速模乘方法转换 快速乘内容:https://www.cnblogs.com/xym486 阅读全文
posted @ 2020-02-22 16:06 Shaw_喆宇 阅读(174) 评论(0) 推荐(0)
摘要:Q:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑 阅读全文
posted @ 2020-02-21 22:04 Shaw_喆宇 阅读(118) 评论(0) 推荐(0)
摘要:Q:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子..... 阅读全文
posted @ 2020-02-21 21:06 Shaw_喆宇 阅读(126) 评论(0) 推荐(0)
摘要:Q:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a stu 阅读全文
posted @ 2020-02-20 16:43 Shaw_喆宇 阅读(121) 评论(0) 推荐(0)
摘要:Q:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! T: 阅读全文
posted @ 2020-02-20 15:53 Shaw_喆宇 阅读(129) 评论(0) 推荐(0)
摘要:Q:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 T: 这个题承接上一个题目,使用双指针法。因为题目中有说,输出两个数乘积最小的,而设$S=2n,(n+k)(n k)=n^2 k^2 FindNumbersWithS 阅读全文
posted @ 2020-02-20 15:38 Shaw_喆宇 阅读(98) 评论(0) 推荐(0)
摘要:Q:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出 阅读全文
posted @ 2020-02-19 19:09 Shaw_喆宇 阅读(110) 评论(0) 推荐(0)
摘要:Q:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 T: 1.排序后一个一个对比。 2.使用hash。 Q:现在有一个整数类型的数组,数组中只有一个元素只出现一次,其余元素都出现三次。你需要找出只出现一次的元素 注意: 你需要给出一个线性时间复杂度的算法 阅读全文
posted @ 2020-02-19 16:44 Shaw_喆宇 阅读(253) 评论(0) 推荐(0)
摘要:Q:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 A: 结合上一题的计算树的高度。 但这样做有一个问题,就是下层一直累积遍历很多次。这样直接在遍历过程中进行判断。 阅读全文
posted @ 2020-02-18 16:50 Shaw_喆宇 阅读(109) 评论(0) 推荐(0)
摘要:Q:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 A: 这是很典型的二叉树递归问题。 层次遍历方法: 阅读全文
posted @ 2020-02-18 16:31 Shaw_喆宇 阅读(108) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页