自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 N皇后问题,枚举+递归

if(QueenPos[preLine]==row||abs(cur-preLine)==abs(QueenPos[preLine]-row))//如果有皇后位于同一列或者在对角线上,break。void QueenFind(int cur)//假设第0行到第cur-1行的皇后已经摆放好,从cur行开始摆放每个皇后的位置。row++)//从当前cur行的0列开始看。//记录当前皇后的位置。//并递归调用下一行。if(preLine==cur)//如果满足。//N皇后问题 运用递归代替多重循环。

2024-09-27 14:48:42 129

原创 汉诺塔问题(递归的本质,易懂)

/大问题分解为小问题,将num-1个柱子从所在的位置移动到最终的柱子上。//大问题分解为小问题,将num-1个柱子从所在的位置移动到中转柱子上。2.小问题最后能否得到一个解决,这个叫做递归的基例,比如阶乘的例子:最后0的阶乘是1。要将n个圆盘盘从A移动到C------>将n-1个圆盘从A移动到B,再将第n个圆盘从A移动到C,最后再将n-1个圆盘从B移动到C。递归的本质:将大的问题,分解为子问题,比如10!实现递归算法最重要的两步:1.大问题如何分解为小问题(大问题与小问题的关系),这个叫做递归的链条。

2024-09-13 20:54:47 242

原创 枚举算法练习题(完美立方和生理周期)

/ 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。你的任务是给定一个从当年第一天开始数的天数,输出从给定时间开始(不包括给定时间)下一次三个高峰落在同一天的时间(距给定时间的天数)。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中a,b,c,d 大于 1, 小于等于N,且b<=c<=d。// 一个整数,即从给定时间起,下一次三个高峰同天的时间(距离给定时间的天数)。

2024-09-13 20:01:46 489

原创 罗马数字转整数

c语言简单的算法应用

2024-09-08 19:36:23 427

原创 算法题:跳跃游戏

/ 给你一个非负整数数组 nums ,你最初位于数组的第一个下标。// 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。// 1.如果可以到达的最远位置和当前元素位置一样,并且当前元素为0,那么则返回false。// 判断你是否能够到达最后一个下标,如果可以,返回true;// 思路:从头开始遍历每一个元素,记录从当前元素可以到达的最远位置。// 输入:nums = [2,3,1,1,4]// 2.遍历到最后看是否可以到达。// 输出:true。

2024-09-06 14:20:04 229

原创 字符左旋转的操作

/ 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。// 输入: nums = [1,2,3,4,5,6,7], k = 3。// 向右轮转 1 步: [7,1,2,3,4,5,6]// 向右轮转 2 步: [6,7,1,2,3,4,5]// 向右轮转 3 步: [5,6,7,1,2,3,4]//缺点:时间复杂度超级高,k*O(n)的复杂度。// 输出: [5,6,7,1,2,3,4]//空间损失比较大,时间复杂度为O(n)//方法一:每次移动一个,移动n次。

2024-09-05 12:37:42 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除