随笔分类 -  数据结构与算法

摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 输入一个链表,反转链表后,输出新链表的表头。 思路: 一、先遍历链表中的每一个元素,并依次放入vector容器中,然后再反序存入链表中 /* struct ListNode { int val; str 阅读全文
posted @ 2020-03-15 23:05 牛犁heart 阅读(192) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路: 一个单链表,要输出倒数第k个结点,设立两个指针prePoint、lastPoint,让先行指针prePoint先走k-1次,然后lastPoint再和 阅读全文
posted @ 2020-03-14 22:29 牛犁heart 阅读(127) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 思路: 一:1、找位置:evenP 阅读全文
posted @ 2020-03-13 22:21 牛犁heart 阅读(159) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 思路:(考察代码的完整性,考验对数据处理的严谨性 阅读全文
posted @ 2020-03-12 22:34 牛犁heart 阅读(128) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 哎,已经去就掉进了误区,本以为还需要将该整数进行二进制转换,结果没想到掉到了坑里了。。。(勿入勿入) 思路: 第一种:将1与该整数的二进 阅读全文
posted @ 2020-03-11 22:36 牛犁heart 阅读(283) 评论(0) 推荐(0)
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法: 思路: 当n= 1时,有F(1) = 1种方法 当n = 2时, 有F(2) = 2种方法 当n = 3时,有F( 阅读全文
posted @ 2020-03-10 21:14 牛犁heart 阅读(312) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:(重要是分析) 本题前提是n个台阶,会有n阶的跳发,分析如下: f(1) = 1 f 阅读全文
posted @ 2020-03-09 21:05 牛犁heart 阅读(227) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路:设置一个函数F(N)表示走到第N级台阶走法的数量,现在假设有10级台阶,有两 阅读全文
posted @ 2020-03-08 22:57 牛犁heart 阅读(209) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 思路: 首先想到的肯定是使用递归 class Solution { public: i 阅读全文
posted @ 2020-03-07 12:59 牛犁heart 阅读(225) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最 阅读全文
posted @ 2020-03-06 22:25 牛犁heart 阅读(172) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: push操作中,将元素入栈stack1,pop操作时,将stack1中元素进行弹出,并存入stack2中,实 阅读全文
posted @ 2020-03-05 21:16 牛犁heart 阅读(169) 评论(0) 推荐(0)
摘要:要求:时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1, 阅读全文
posted @ 2020-03-04 21:35 牛犁heart 阅读(197) 评论(0) 推荐(0)
摘要:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路一:从头遍历链表中的元素,并以此存入vector容器中,并进行反转(类似栈操作) /** * struct ListNode { * 阅读全文
posted @ 2020-03-01 22:38 牛犁heart 阅读(120) 评论(0) 推荐(0)
摘要:要求:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 编程语言:C++ 刚开始,想着用c+ 阅读全文
posted @ 2020-02-29 21:46 牛犁heart 阅读(168) 评论(0) 推荐(0)
摘要:题目描述 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 根据题意, 阅读全文
posted @ 2020-02-27 22:17 牛犁heart 阅读(148) 评论(0) 推荐(0)