算法刷题
ChengHuan1974
“一个知识越贫乏的人,越是拥有一种莫名奇怪的勇气和自豪感,因为知识越贫乏,你所相信的东西就越绝对,你根本没有听过与此相对立的观点”
展开
-
《LeetCode》刷题只二叉树的最近公共祖先
剑指OFFER 68-||.二叉树的最近公共祖先题目描述如下:解题思路以及过程这题虽然是leetcode中的简单难度,但是对于我而言还是具有一定的难点,虽然我已再次学了二叉树,但是对于实际应用的实现还是有点措手不及的官方的解答还是值得去学习的/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *原创 2021-05-10 19:24:55 · 66 阅读 · 0 评论 -
《LeetCode》刷题之对称的二叉树
剑指OFFER28.对称的二叉树题目算法实现以及解题思路 启初我也想到使用书的遍历,但自己的想法与代码的实现还是有点差距无法实现同步深层遍历,容易导致解题顺序错误 在查看java大佬的代码,使用c语言自己实现了一遍/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *righ原创 2021-05-09 20:32:02 · 69 阅读 · 0 评论 -
LeetCode刷题 旋转图像
48.旋转图像1题目如下: 旋转90度 还有一个就是 不要使用领一个矩阵来旋转,如果使用另一个矩阵那么这题可以使用暴力解法去实现那么就来找规律使用一个变量来交换刚开始我的想法是有外圈向内圈不断使用递归交换但是对于数据结构的实现发现自己还是有点欠缺的实现起来还是有一点难度的于是我去查看了官方的题解,发现,好家伙果然大牛就是不一样class Solution {public: void rotate(vector<vector<int>>&原创 2020-12-19 17:44:20 · 69 阅读 · 1 评论 -
Leetcode刷题
贪心算法求解738.单调递增数字具体算法思想可参考点击 class Solution {public: int monotoneIncreasingDigits(int N) { string strNum=to_string(N); //辅助变量,用来记录变为9的位置 //为了方便当高位-1是,后面其它位全部变成9的计算 int flag=strNum.size(); int i; for(i=strNum.size()-1..原创 2020-12-16 16:53:25 · 45 阅读 · 0 评论 -
《实验6》最大子段和 以及最大k乘积
1. 最大子段和一键三连1给定由n个整数(可能有负整数)组成的序列(a1,a2,…,an),最大子段和问题要求该序列形如 的最大值(1<=i<=j<=n),当序列中所有整数均为负整数时,其最大子段和为0。最大子段和作为动态规划算法中的经典例题,是值得我们去学习考究的 用动态规划法求解。算法思想可以参考:动态规划 最大子段和问题我的实现代码:#include<iostream>using namespace std;/** * 状态dp数组dp[i]表示原创 2020-12-14 21:09:49 · 332 阅读 · 0 评论 -
实验5 回溯法
一、实验目的与要求:1、通过回溯法的示例程序理解回溯法的基本思想;2、运用回溯法解决实际问题进一步加深对回溯法的理解和运用;二、实验内容:1、分析并掌握“符号三角” 问题的回溯法求解方法; 2、练习使用回溯法求解问题。三、实验步骤1.理解回溯算法思想和算法示例;2.上机输入和调试算法示例程序;3.理解实验题的问题要求;4.上机输入和调试自己所编的实验题程序;5.验证并分析实验题的实验结果;6.整理出实验报告;四、示例程序:符号三角形问题符号三角问题:下面都是“-”。 下图是由14原创 2020-12-09 20:44:33 · 700 阅读 · 0 评论 -
LeetCode刷题
本来今天是想继续刷贪心算法突然leetcoode推荐我一个很具有挑战性的中等算法题主要时运用回溯算法842.将数组拆分成斐波那契数列这题具体思想可以参考,java题解https://leetcode-cn.com/problems/split-array-into-fibonacci-sequence/solution/javahui-su-suan-fa-tu-wen-xiang-jie-ji-b-vg5z/我觉得他这里得剪枝操作做得很好,如果不进行剪枝会超时图形化思路框架:这里我根据原创 2020-12-08 17:39:42 · 97 阅读 · 0 评论 -
Pta算法刷题之回溯
做学问要务实,不要只为追求效率而忘记质量可以龟速刷题,只为能够理解其中的真正算法,而不是copy就草草了事。1、工作分配问题其时这题在我看来就是n皇后问题的判断以及0-1背包问题的结合典型例子...原创 2020-12-07 11:17:40 · 290 阅读 · 0 评论 -
Vscode使用快捷键了解
一位大佬总结的笔记原创 2020-12-06 09:03:10 · 123 阅读 · 0 评论 -
LeetCode算法刷题
天气:晴刮风;今天继续刷贪心算法题目## 1403.非递增顺序的最小序列这题目看起来有点难以理解,多看几遍就懂了(反复结合例子去看)结题思路:用贪心算法的思想,每次选数组中最大的数就能保证所选的子序列满足条件而且是比较短的,直到选取数大于剩下的数为止这是我的代码实现:class Solution {public: vector<int> minSubsequence(vector<int>& nums) { int S = 0;原创 2020-12-02 23:18:58 · 178 阅读 · 0 评论 -
Leetcode周赛
这次参加力扣第217场周赛自己只写出了两道,第三题运行时已经超时了,最后面反省自己感觉就是自己的查找算法的时间复杂度太高了同时在星期六时也参加了全国高校计算机能力挑战赛中的C语言竞赛项目不断的将自己所学的理论知识结合实践去使用,发现自己还是存在一定不足的,比如在写题时代码书写不太规范以及一些变量、类命名没有使用相应的驼峰法,更一层次说明自己依旧不够细节这种学习作风需要改变言归正传:下面是我写leetcode题目超时题目的详解:找出最具竞争力的子序列参考题解: 这道题本质是一个原创 2020-11-30 17:02:00 · 909 阅读 · 0 评论 -
找bug经验
VsCosde第一个就是**error C3872: “0xa0”: 此字符不允许在标识符中使用**或者是这种情况在VScode中会显示出这种情况你会发现你的代码理论上是没什么错误的,但是却在不断报错问题原因:0xa0是十六进制数,换成十进制就是160,表示汉字的开始。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、这个时候就是你的空格的问题,因为你复制过来的可能是中文空格,这个时候就要将那些空格改为英文空格下面是VSCODE的快原创 2020-11-28 11:18:00 · 219 阅读 · 0 评论 -
递归分治之棋盘覆盖问题
这几天一直在写递归算法问题有一道题目我特别喜欢:棋盘覆盖问题具体题目可以在CSDN上搜索参考文章这篇是我强烈推荐的,里面思路清晰明了,而且又有实现代码,可供参考题目以及结题思路参考视频由于自身的惰性以及多次阅读有些东西难以理解,于是我就上b站去搜索好家伙!!!好家伙!!!果然发现一个我看一篇就知道的视频...原创 2020-11-25 14:45:49 · 97 阅读 · 0 评论 -
算法刷题之递归分治
今天写两道递归的算法题目**第一道题是《算法分析与设计》课程作业,是PAT上的题目**分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。一个盒状分形定义如下: 度为1的盒分形为:X度为2的盒分形为:X XXX X依次类推,如果B(n-1)表示n-1度的盒分形,则n度的盒分形递归定义如下:B(n - 1) B(n - 1)B(n - 1) B(n - 1)请画出度原创 2020-11-23 19:39:06 · 275 阅读 · 0 评论 -
算法题之枚举
温故而知新今天对自己之前所做的题进行重新审查,将自己的思路与别人的思路进行对比,才知道自己不过是“井底之蛙”“一个知识越贫乏的人,越是拥有一种莫名奇怪的勇气和自豪感,因为知识越贫乏,你所相信的东西就越绝对,你根本没有听过与此相对立的观点”梅森数详细题目可参考拼题网或者leetcode上的题目/////////////////////////自己最初的实现代码:#include<iostream>using namespace std;bool gcb(int number)原创 2020-11-21 17:25:17 · 116 阅读 · 0 评论 -
LeetCode八皇后与数独问题
八皇后问题解题算法思想:可以参照B站懒猫老师的视频具体代码实现:#include<iostream>using namespace std;int place[8] = { 0 };bool flag[8] = { 1,1,1,1,1,1,1,1};bool dup[15] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 };bool dun[15] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};int sum = 0;v原创 2020-11-02 19:09:07 · 182 阅读 · 0 评论