
编程题
编程题
齊 天 大 聖
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
打家劫舍(Leetcode)动态规划c语言
打家劫舍题目描述解题思路代码运行结果题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。原创 2021-12-26 11:23:34 · 1022 阅读 · 0 评论 -
直接插入排序
直接插入排序主要思想:1. 外层循环是遍历除第一个元素(排序元素)以外的每个元素。2. 中间循环是进行元素后移操作。3. 第一个元素默认是一个有序的序列。4. a[0]相当于一个临时变量。用图表现出上面的四个思想假设最外面的循环已经遍历到第4个排序元素即i=4,a[i]=6a[0]=a[i];j=i-1;while循环后移第一次第二次因为a[0]>a[j]所以跳出循环a[j+1]=a[0];然后外循环指向下一个元素即i=5C语言实现如下,f(a,n)为排原创 2021-07-20 18:53:40 · 152 阅读 · 0 评论 -
二分查找。
二分查找 主要思想(技巧):1.查找的数据必须是有序的。2.在比较过程中如果比较数据(即a[mid])大于查找数据则再向递减部分查找, 否则再向递增部分查找。3.两个端点low、和high变换时,因为mid已经比较过,所以low=mid+1; high=mid-1;(先看代码和图例,再看上述思想)图例有数组a,有如下数据带查找元素为4当传参,进入f函数后low=0;high=l原创 2021-07-21 15:45:32 · 125 阅读 · 0 评论 -
蓝桥杯:排列数-回溯(C语言)
蓝桥杯:排列数-回溯(C语言)题目思路代码结果题目思路其实这道题是比较简单的,只要可以求出全排列,然后再检查每个全排列是否满足要求即可,如果不会全排列的可以参考一下这篇文章全排列C语言代码#include<stdio.h>int a[1000];int k;int n;int sum;void jc(){ int i; int t=0; for(i=2;i<n;i++){ if((a[i]>a[i-1]&&a[i]>a[原创 2022-05-27 10:20:07 · 299 阅读 · 0 评论 -
全排列算法(C语言)
全排列算法(C语言)思路图形理解树结构代码思路图形理解我看先看一下从1–4的全排列,如下:(1)就整体排列而言可以分为四组,分别是以1打头的,以2打头的,以3打头的,以4打头的。(2)每一组中,除去第一个元素,又分别以剩余其它元素打一次头,以第一组元素为例,除去1后,又分别以2、3、4打头,如下:从上图我们可以看出,1后面原创 2022-05-27 09:33:27 · 10933 阅读 · 12 评论 -
蓝桥杯:最优包含--动态规划(C语言)
蓝桥杯:最优包含--动态规划(C语言)题目思路(动态规划)代码题目思路(动态规划)1、S串用i进行遍历,T串用j进行遍历。2、dp数组[i][j]的含义:S串中从S[0]到S[i],最少修改dp[i][j]个字符,可以包含T串中从T[0]到T[j]这部分字符串。3、遍历时遇到的情况有两种:(1)情况一:S[i]==T[j] dp[i][j]=min(dp[i-1][j],dp[i-1][j-1]原创 2022-05-25 11:01:08 · 1347 阅读 · 0 评论 -
第十届蓝桥杯国赛(决赛)B组题目
第十届蓝桥杯国赛(决赛)B组题目燃烧权杖第八大奇迹解谜游戏排列数最优包含原创 2022-05-24 21:26:24 · 1585 阅读 · 0 评论 -
第十一届蓝桥杯国赛(决赛)B组题目
第十一届蓝桥杯国赛(决赛)B组题目质数行者补给游园安排答疑出租车皮亚诺曲线距离补给原创 2022-05-24 21:02:17 · 403 阅读 · 0 评论 -
古风排版(C语言)
古风排版中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe tsice s代码:#include<stdio.h>#include&原创 2022-04-19 11:08:04 · 3588 阅读 · 0 评论 -
动态规划爬楼梯(为什么到i级的方法=i-1级的方法+到i-2级的方法)
动态规划爬楼梯(为什么到i级的方法=到i-1级的方法+到i-2级的方法)先附个原题 初学动态规划,“爬楼梯”是必不可少的,但是相信有好多人都不理解问什么可以直接把变为斐波那契数列进而用到i-1级的方法+到i-2级的方法来求得到第i级台阶的方法。 这是为什么呢? &nb原创 2022-03-19 11:06:23 · 2736 阅读 · 0 评论 -
最长递增子序列(力扣)图解
最长递增子序列(力扣)原题题目描述解题思路代码图解原题题目链接题目描述给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2原创 2022-03-14 09:43:40 · 486 阅读 · 0 评论 -
不同路径(力扣)
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下 -> 向右 -> 向下示原创 2022-03-01 09:16:51 · 517 阅读 · 0 评论 -
爬楼梯(动态规划)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶提示:1 <= n <= 45来源:力扣(LeetCode)先用数学归纳法推断出规律。class Solution {原创 2022-02-26 21:16:55 · 147 阅读 · 0 评论 -
斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给定 n ,请计算 F(n) 。示例 1:输入:n = 2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1示例 2:输入:n = 3输出:2解释:F(3) = F(2) + F(1) = 1 + 1 = 2示原创 2022-02-26 20:58:26 · 626 阅读 · 0 评论 -
有序数组的平方(力扣)
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums.length <= 104-104 <= nums原创 2022-02-21 11:23:00 · 105 阅读 · 0 评论 -
移除元素(力扣)
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝int l原创 2022-02-21 11:11:38 · 103 阅读 · 0 评论 -
二分查找(力扣)
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假设 nums 中的所原创 2022-02-15 21:18:31 · 7852 阅读 · 0 评论