![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
算法设计与分析
Heliotrope&G
窗台蝴蝶像诗里纷飞的美丽章节
展开
-
简单---2.从尾到头打印链表
4.不确定链表的长度,可以使用先集合来存储遍历的结果,最后存入数组中并返回。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。3.符合后进先出特性,所以可以用栈来实现。集合可以自动扩容,默认将数据添加到末尾。2.从尾到头返回每个结点,存在数组中。输入:head = [1,3,2]1.链表特性,只能从头到尾依次遍历。输出:[2,3,1]原创 2023-05-18 16:07:44 · 95 阅读 · 0 评论 -
简单---1.数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。在这个过程中会发现数组中下标2的位置已经有数据,因此发现数字重复。遍历原数组nums,根据数组元素把数据放到newArr中。若该位置已经存在数据,则该数字为重复数字。空间复杂度O(n),时间复杂度O(n)来源:力扣(LeetCode),把数字放到相应的下标中去。找出数组中重复的数字。主要问题:超出时间限制。原创 2023-05-18 15:12:19 · 76 阅读 · 0 评论 -
最大子段和问题的四种解决办法
文章目录一、题目描述二、解决方法1.穷举法2.优化穷举法3.分治法4.动态规划一、题目描述Description给定有n个整数(可能为负整数)组成的序列a1,a2,…,an,求该序列连续的子段和的最大值。 如果该子段的所有元素和是负整数时定义其最大子段和为0。Input第一行有一个正整数n(n<1000),后面跟n个整数,绝对值都小于10000。直到文件结束。Output输出它的最大子段和.Sample Input6 -2 11 -4 13 -5 -2Sample Output2原创 2020-09-17 19:35:06 · 4680 阅读 · 4 评论 -
骨牌与斐波那契数列
文章目录一、斐波那契数列的算法1.递归法2.一般算法二、骨牌铺方格算法1.递归法2.一般算法Description在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:Input输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0< n<=50)。Output对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。Sample Input13原创 2020-09-04 17:35:47 · 287 阅读 · 0 评论 -
X^n的计算
X^n的算法三种方法的原理都是一样的对于n,先将其换成二进制形式,在这里举个例子,假设n=11,其二进制形式是1011从左边数的第二位开始,若等于0,则对x进行平方,若为1,则先对当前结果进行平方,再乘上x。方法一方法二eg:计算2^11211=21*22*23(11)2=(1011)2result=1;while(n!=0){ if(n%2) result = result*x; //若等于1,结果乘上x n=n/2; x=x*x //需要注意,不管n%2的结果是1还是原创 2020-09-04 15:50:59 · 3656 阅读 · 0 评论