草庐IT

leetcode题解

全部标签

AtCoder Beginner Contest 336 C - Even Digits题解

C-EvenDigits EditorialTimeLimit:2sec/MemoryLimit:1024MBScore: 300300 pointsProblemStatementAnon-negativeinteger �n iscalleda goodinteger whenitsatisfiesthefollowingcondition:Alldigitsinthedecimalnotationof �n areevennumbers(00, 22, 44, 66,and 88).Forexample, 00, 6868,and 20242024 aregoodintegers.You

Leetcode算法系列| 9. 回文数

目录1.题目2.题解C#解法一:反转一半数字Java解法一:反转一半数字1.题目给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。示例1:输入:x=121输出:true示例2:输入:x=-121输出:false解释:从左向右读,为-121。从右向左读,为121-。因此它不是一个回文数。示例3:输入:x=10输出:false解释:从右向左读,为01。因此它不是一个回文数。提示:2^312.题解映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非

LeetCode75| 单调栈

目录739每日温度901股票价格跨度739每日温度求后面第一个比他大的元素的位置,单调栈需要递增求后面第一个比他小的元素的位置,单调栈需要递减本题栈头到栈底的顺序应该从小到大classSolution{public:vectordailyTemperatures(vector&temperatures){stackst;vectorres(temperatures.size());st.push(0);for(inti=1;itemperatures[st.top()]){res[st.top()]=i-st.top();st.pop();}st.push(i);}}returnres;}};

leetcode 动态规划(爬楼梯、零钱兑换、完全平方数)

70.爬楼梯(进阶版)卡码网:57.爬楼梯(opensnewwindow)假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬至多m(1注意:给定n是一个正整数。输入描述:输入共一行,包含两个正整数,分别表示n,m输出描述:输出一个整数,表示爬到楼顶的方法数。输入示例:32输出示例:3提示:当m=2,n=3时,n=3这表示一共有三个台阶,m=2代表你每次可以爬一个台阶或者两个台阶。此时你有三种方法可以爬到楼顶。1阶+1阶+1阶段1阶+2阶2阶+1阶思路之前讲这道题目的时候,因为还没有讲背包问题,所以就只是讲了一下爬楼梯最直接的动规方法(斐波那契)。这次终于讲到了背包问题,我选择带录友们再爬一

2023年林大(东北林业大学)ACM校赛大一组 个人题解(未完全完成)

前言:接触csdn也有一段时间了,虽说很早就开始发博客(一些简单的代码,或许都算不上博客),但这样的行为对我个人与他人的学习没有任何帮助。在看了许多优秀的博客后,我深知自己经验甚浅,恰好自己又参加了人生中第一次较为正规的算法考试,希望能从今天开始创作更多优秀的博客,首先就从我学校ACM校赛大一组的个人题解开始吧!(还有作者也是代码小白,经验浅薄,有那里写的不好也欢迎各位大佬指点)五道简单的c语言基础题:A 威武:#includeusingnamespacestd;intmain(){ intans=0; chars[109]={0}; cin>>s; for(inti=0;s[i];i++){

【map】【滑动窗口】【优先队列】LeetCode480滑动窗口中位数

作者推荐动态规划多源路径字典树LeetCode2977:转换字符串的最小成本本文涉及的基础知识点C++算法:滑动窗口总结map优先队列题目中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是3[2,3],中位数是(2+3)/2=2.5给你一个数组nums,有一个长度为k的窗口从最左端滑动到最右端。窗口中有k个数,每次窗口向右移动1位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。示例:给出nums=[1,3,-1,-3,5,3,6,7],以及k=3。窗口位置中位数[13-1]

Leetcode算法系列| 11. 盛最多水的容器

目录1.题目2.题解C#解法一:暴力C#解法二:双指针(左指针大于右指针,left++)C#解法三:双指针优化(左指针小于等于最小高度,left++)Java解法一:双指针Python3解法一:双指针1.题目给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝

Leetcode算法系列| 8. 字符串转换整数 (atoi)

目录1.题目2.题解C#解法一:及其臃肿的代码C#解法二:DFA(确定有穷自动机)1.题目请你来实现一个myAtoi(strings)函数,使其能将字符串转换成一个32位有符号整数(类似C/C++中的atoi函数)。函数myAtoi(strings)的算法如下:1.读入字符串并丢弃无用的前导空格2.检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。确定最终结果是负数还是正数。如果两者都不存在,则假定结果为正。3.读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。4.将前面步骤读入的这些数字转换为整数(即,“123”->123,“0032”

LeetCode 0070. 爬楼梯:动态规划(递推)

【LetMeFly】70.爬楼梯:动态规划(递推)力扣题目链接:https://leetcode.cn/problems/climbing-stairs/假设你正在爬楼梯。需要n 阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶 提示:1方法一:动态规划(递推)第iii阶楼梯可以由第i−1i-1i−1阶或i−2i-2i−2阶楼梯而来,因此只需要将相邻两阶的方案数加起来,就能得到

【刷题】 leetcode 2 .两数相加

两数相加两数相加1思路一(暴毙版)2思路二(本质出发)谢谢阅读Thanks♪(・ω・)ノ下一篇文章见!!!!!!两数相加我们来看看题目,,,,往往困难的题只需要简单的叙述。好像只用找到两个数,整合成一个链表就可以。应该1思路一(暴毙版)首先我最快想到思路是分别根据两个链表求出对应数然后加一起,得到和再把和拆分储存到链表里为此我们需要手撕一下链表头插。typedefstructListNodeSLTNode;SLTNode*buynode(intn){ //开辟空间SLTNode*node=(SLTNode*)malloc(sizeof(SLTNode));node->next=NULL;nod