![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣刷题
力扣
宫小白(转掘金了)
热爱文学,热爱生活,热爱编程
展开
-
牛客——剪绳子(66题)
本题主要考察的思想是:贪心或者动态规划,这两种算法思想感觉还是比较相似的,但是这一类的题主要是找到规律吧题目描述给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]xk[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= 60)输出描述:.原创 2020-06-04 09:49:24 · 403 阅读 · 0 评论 -
牛客——对称的二叉树
ps:因为近阶段时间比较紧,除了比较难搞的就不怎么写思路了题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路递归不解释了实现:/* function TreeNode(x) { this.val = x; this.left = null; this.right = null;} */function isSymmetrical(pRoot){ // write code here原创 2020-06-03 09:12:17 · 145 阅读 · 0 评论 -
牛客——二叉树的镜像
ps:今天做一个简单的题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/ \ / \ 5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 5题目分析这就是传统的交换两个变量的值嘛,即借助第三块空间完成交换。流程还是递归代码实现/* function TreeNode(x) { this.val = x; this.left = null; this..原创 2020-05-28 09:37:27 · 109 阅读 · 0 评论 -
牛客——二叉搜索树与双向链表
题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。题目分析这道题怎么说呢,牛客标它的难度是最低的这我是不太认同的。首先从题目描述来看,不读个3、4遍可能不知道它是什么意思,同时又考察了链表和二叉树这两种结构。嗯不知道牛客难度标记是不是越小越不好做,很魔性。正题:先来看一棵简单的二叉搜索树由他变成一个有序的双向链表还是比较简单的。如下图:接下来升级二叉搜索树的复杂程度他怎么变呢?先变简单的把它的子树先转成链表接原创 2020-05-27 09:37:00 · 213 阅读 · 0 评论 -
牛客——从上往下打印二叉树
题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:害,这不就是树的层次遍历吗。循环借助辅助数组存放当前层。代码实现:(ps:不要忘记前期判断,我开始没每判断搞了十分钟都不知道哪错了,千万不要偷懒呀)/* function TreeNode(x) { this.val = x; this.left = null; this.right = null;} */ function PrintFromTopToBottom(root) {原创 2020-05-26 09:56:20 · 758 阅读 · 0 评论 -
牛客——重建二叉树
ps 重新开启每日刷题了题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。题目分析:这其实是一个我们非常熟悉的二叉树问题,根据先中,或后中重建二叉树。手写时它的思路是这样的:先序判根中序判左右。(这里就不会手写的了,毕竟它在数据结构中也是蛮简单的题型)举例:题目中先看先序,1肯定是它的根节点、接下来找.原创 2020-05-25 09:29:45 · 216 阅读 · 0 评论 -
每日刷题_牛客_跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。主要思路如果你刚看完上到的斐波那契数列,再看这道题是不是有些熟悉。没有?高数中有个很牛皮的找规律方法。相信你一定知道它是啥 。【数学归纳】但大致看一下首先看跳第一级。只要一种方法跳第二级有。2种跳第三级呢。先看是怎么跳上第三级的。它可是是从3-1级跳的,也可...原创 2020-02-26 12:41:12 · 168 阅读 · 0 评论 -
每日刷题_牛客_斐波那契数列(非递归)
ps 这道题可能都被当例子讲烂了。不过在这里用这个我是为下一个题做铺垫题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39主要思路斐波那契数列:0 1 1 2 3 5 …(f(n-2)+f(n-1))即在第三项及之后的每一项。都是它的n-1项 + n-2项。所以你可能想过了递归。但是很遗憾的告诉你传统的递...原创 2020-02-26 11:54:25 · 172 阅读 · 0 评论 -
每日刷题_牛客_旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。主要思路我猜这道题就是考我们的阅读理解,解释一下什么是翻转数组。结果貌似没卵用,不就是求一个数组中的最小值吗...原创 2020-02-26 11:08:43 · 174 阅读 · 1 评论 -
leetcode 之每日刷题_有效的括号
有效的括号 今天来一个easy难度的吧。字符串的问题题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true...原创 2020-02-25 18:39:03 · 107 阅读 · 0 评论 -
每日刷题_牛客_数组中重复的数字
事件还早,再来一个简单的吧题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。主要思路拿一个辅助数组先将所给数组的第一个值给它,遍历所给数组的同时。拿遍历的当前元素...原创 2020-02-24 22:07:40 · 155 阅读 · 0 评论 -
每日刷题_牛客_栈的压入、弹出序列
开题前牢骚:强力感觉牛课的题目感觉跟阅读理解一样。你得猜,请看下题题目描述:题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)(...原创 2020-02-24 21:09:57 · 121 阅读 · 0 评论 -
每日刷题_牛客_删除公共字符
题目描述题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例1输入They are students.aeiou输出Thy r stdnts.解题思路ps:牛课对...原创 2020-02-23 11:37:22 · 367 阅读 · 0 评论 -
每日刷题_牛客_替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。注意思路什么这题也要思路,这比1+1=2难不了多少吧。可能有人问那为什么还有做?ps:就当复习一下正则也未尝不可吧。代码function replaceSpace(str){ // write code here...原创 2020-02-23 11:21:55 · 104 阅读 · 0 评论 -
leetcode 之每日刷题_卡牌分组
题目描述给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入:[1...原创 2020-02-23 01:10:35 · 366 阅读 · 0 评论 -
leetcode 之每日刷题_水一道题
ps:因为昨天说了今晚上要做两个的,因为昨天那道题的bug今天也没有想通刚刚发了一道了。便再水一道吧题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9...原创 2020-02-20 21:35:08 · 191 阅读 · 0 评论 -
leetcode 之每日刷题_反转字符串中的单词 III
ps:今天刚总结完mongodb的基本内容。偷个懒,来个简单的题目描述给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc”注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路:把该字...原创 2020-02-20 21:27:37 · 115 阅读 · 0 评论 -
leetcode 之每日刷题_无重复字符的最长子串
字符串操作题目 #3题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因...原创 2020-02-18 23:32:50 · 297 阅读 · 0 评论 -
leetcode 之每日刷题
题目描述:696题给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: “00110011”输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们...原创 2020-02-17 22:12:48 · 146 阅读 · 0 评论