加载中...

随笔分类 -  剑指Offer

摘要:# 【剑指Offer】剑指offer题目汇总 本文为《剑指Offer》刷题笔记的总结篇,花了两个多月的时间,将牛客网上《剑指Offer》的66道题刷了一遍,以博客的形式整理了一遍,这66道题属于相对基础的算法题目,对于刷题练手是很好的实践,接下来会继续回到LeetCode,争取每天拿出一个小时,刷一 阅读全文
posted @ 2023-08-29 23:46 bujidao1128 阅读(542) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】15、反转链表 **题目描述:** 输入一个链表,反转链表后,输出新链表的表头。 **解题思路:** 本题比较简单,有两种方法可以实现:(1)三指针。使用三个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。将指针反转后,三个结点依次前移即可。(2)递归方法。同样可 阅读全文
posted @ 2023-08-29 23:37 bujidao1128 阅读(27) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】64、滑动窗口的最大值 **题目描述:** 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2, 阅读全文
posted @ 2023-08-24 22:20 bujidao1128 阅读(25) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】63、数据流中的中位数 **题目描述:** 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用Ge 阅读全文
posted @ 2023-08-24 22:08 bujidao1128 阅读(16) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】46、圆圈中最后剩下的数 **题目描述:** 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每 阅读全文
posted @ 2023-08-24 21:54 bujidao1128 阅读(16) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】45、扑克牌顺子 **题目描述:** LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王, 阅读全文
posted @ 2023-08-23 22:40 bujidao1128 阅读(55) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】42、和为S的两个数字 **题目描述:** 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 **输出描述:** 对应每个测试案例,输出两个数,小的先输出。 **解题思路:** 对于本题,比上一题简 阅读全文
posted @ 2023-08-23 22:33 bujidao1128 阅读(16) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】41、和为S的连续正数序列 **题目描述:** 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:1 阅读全文
posted @ 2023-08-23 22:27 bujidao1128 阅读(15) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】33、丑数 **题目描述:** 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 **解题思路:** 所谓一个数m是另一个数n的因子,是指n能被 阅读全文
posted @ 2023-08-22 23:58 bujidao1128 阅读(14) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】31、从1到n整数中1出现的次数 **题目描述:** 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1-13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题 阅读全文
posted @ 2023-08-22 23:55 bujidao1128 阅读(37) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】29、最小的K个数 **题目描述:** 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 **解题思路:** 本题最直观的解法就是将输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数,这取决于排 阅读全文
posted @ 2023-08-22 23:51 bujidao1128 阅读(17) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】11、二进制中1的个数 **题目描述:** 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 **解题思路:** 本题有以下两个解决方案: (1)**依次判断每一位**。判断的方法是先与1相与,为1则说明该位为1,为0说明该位为0,然后将1左移,再判断倒数第二位 阅读全文
posted @ 2023-08-21 23:58 bujidao1128 阅读(17) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】48、不用加减乘除做加法 **题目描述:** 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 **解题思路:** 本题同样是对发散思维能力的一个考察。首先,我们需要考虑是要求和却不能使用四则运算,那么还能用什么呢?除了四则运算以外,还可以进行计算 阅读全文
posted @ 2023-08-21 23:55 bujidao1128 阅读(19) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】47、求1+2+3+4+···+n **题目描述:** 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 **解题思路:** 本题本身没有太多的实际意义,但是可以对程序员的发散思维能力 阅读全文
posted @ 2023-08-21 23:53 bujidao1128 阅读(44) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】12、数值的整数次方 **题目描述:** 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 **解题思路:** 本题看似比较简单,是一个简单的指数运算,但需要完整的考虑到所有情况。首先,对于底数,如果底数为0,则0的 阅读全文
posted @ 2023-08-20 23:55 bujidao1128 阅读(16) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】10、矩形覆盖 **题目描述:** 我们可以用2 X 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 X 1的小矩形无重叠地覆盖一个2 X n的大矩形,总共有多少种方法? **解题思路:** 我们可以以2 X 8的矩形为例。 ![](https://img2023.cnb 阅读全文
posted @ 2023-08-20 23:46 bujidao1128 阅读(24) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】9、变态跳台阶 **题目描述:** 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 **解题思路:** 当只有一级台阶时,f(1)=1;当有两级台阶时,f(2)=f(2-1)+f(2-2);一般情况下,当有n级台阶 阅读全文
posted @ 2023-08-20 23:38 bujidao1128 阅读(16) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】8、跳台阶 **题目描述:** 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 **解题思路:** 首先考虑最简单的情况,如果只有1级台阶,显然只有一种跳法。如果有两级台阶,就有两种跳法:一种是分两次跳,一 阅读全文
posted @ 2023-08-19 23:54 bujidao1128 阅读(19) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】7、斐波那契数列 **题目描述:** 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。假设n<=39。 **解题思路:** 斐波那契数列:0,1,1,2,3,5,8........ 总结起来就是:第一项是0,第二项是1,后续 阅读全文
posted @ 2023-08-19 23:46 bujidao1128 阅读(22) 评论(0) 推荐(0) 编辑
摘要:# 【剑指Offer】21、栈的压入、弹出序列 **题目描述:** 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1 阅读全文
posted @ 2023-08-19 23:41 bujidao1128 阅读(21) 评论(0) 推荐(0) 编辑