草庐IT

回文数-力扣

全部标签

力扣刷题之旅:进阶篇(六)—— 图论与最短路径问题

         力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。  --点击进入刷题地址 引言         在算法的广阔天地中,图论是一个非常重要的领域。图论问题常常涉及到节点之间的连接关系和路径问题,而最短路径问题则是其中的经典之一。今天,我们就来一起探索一道关于图论与最短路径的经典题目:“单源最短路径问题”。题目描述:        给定一个带权有向图,图中包含n个节点和m条边,每条边都有一个权值表示通过这条边所需的花费。现在,我们需要找出从给定起点到其他所有节点的最短路径。示例:输入:图的邻

C++ 回文查找器优化

我一直在用C++编写一个回文查找器,并且我已经成功地编写了一个……至少可以说是基本的。我只是想提高程序的运行速度,现在使用我拥有的功能在1500词的单词表上运行回文/2词回文测试大约需要1分钟5秒。我想尝试在更大的文件上运行它,但看不到我可以进一步优化的地方?任何帮助将不胜感激:P.S.这不是为了上学,只是为了休闲。#include#include#include#include#includeusingnamespacestd;boolisPal(string);intmain(){vectorsVec;vectorsWords;vectorsTwoWords1;vectorsTwo

70 爬楼梯 力扣 动态规划 快速幂

70爬楼梯记录:分析:关键在于公式的理解f(x)=f(x−1)+f(x−2)f(x)=f(x-1)+f(x-2)f(x)=f(x−1)+f(x−2)一共有x阶台阶,在最后登上第x阶时有两种方案,一种是只需要跨一阶,另一种是需要跨两阶;而在需要跨一阶时,已经位于第x-1阶;在需要跨两阶时,位于第x-2阶。f(x)代表跨到第x阶时一共有几种方案滚动数组思想classSolution{//第一版AC代码intf[46];public:intclimbStairs(intn){f[0]=f[1]=1;for(inti=2;in;i++)f[i]=f[i-1]+f[i-2];returnf[n];}};

数据结构与算法-链表(力扣附链接)

   之前我们对C语言进行了一定的学习,有了一些基础之后,我们就可以学习一些比较基础的数据结构算法题了。这部分的知识对于我们编程的深入学习非常有用,对于一些基本的算法,我们学习之后,就可以参加一些编程比赛了(蓝桥杯)。  学习前提  1.至少掌握一门计算机编程语言。  2.有一定的数学基础和逻辑思考能力。如好学好数据结构 1.复习好C语言以及C++的基础知识,尤其是指针这一块的知识,当然使用别的计算机编程语言也可以,你完全可以把本教程提供的代码当作伪代码来学习。  2.阅读时建议顺序阅读,多思考理解,不要轻易去大量的复制粘贴代码(虽说这也是一个技巧),代码结合图示的学习方法是相当重要的,弄懂原

力扣题目的参数解释(力扣初用者必看指南)

导入:题目来源:leetcode867转置矩阵参数列表:int**matrixintmatrixSizeint*matrixColSizeint*returnSizeint**returnColumnSizes模仿main()函数完整代码运行结果最后本题的AC答案结语:导入:相信初次刷力扣的同学经常会因为题目所给的参数看不懂,导致从入门到入土,例如下面这个题目,相信有一些同学已经汗流浃背了。不过没有关系今天写这个文章就是为了解决这个问题,让大家更好的融入力扣大家庭(上头上头✌)。首先我先给出我的题目来源,这个变量算比较复杂的,所以也比较有代表性。题目来源:leetcode867转置矩阵那我们开

力扣0080——删除有序数组中的重复项II

删除有序数组中的重复项II难度:中等题目描述给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://nums是以“引用”方式传递的。也就是说,不对实参做任何拷贝intlen=removeDuplicates(nums);//在函数里修改输入数组对于调用者是可见的。//根据你的函数返回的长

【力扣白嫖日记】SQL

前言练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。今日题目:1633.各赛事的用户注册率表:Users列名类型user_idintuser_namevarcharuser_id是该表的主键(具有唯一值的列)。该表中的每行包括用户ID和用户名。表:Reigster列名类型contest_idintuser_idint(contest_id,user_id)是该表的主键(具有唯一值的列的组合)。该表中的每行包含用户的ID和他们注册的赛事。编写解决方案统计出各赛事的用户注册百分率,保留两位小数。返回的结果表按

【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题

目录1、题目介绍2、解题思路2.1、暴力破解法2.2、经典NextGreaterNumber问题解法1、题目介绍原题链接:496.下一个更大元素I-力扣(LeetCode)示例1:输入:nums1=[4,1,2],nums2=[1,3,4,2].输出:[-1,3,-1]解释:nums1中每个值的下一个更大元素如下所述:-4,用加粗斜体标识,nums2=[1,3,4,2]。不存在下一个更大元素,所以答案是-1。-1,用加粗斜体标识,nums2=[1,3,4,2]。下一个更大元素是3。-2,用加粗斜体标识,nums2=[1,3,4,2]。不存在下一个更大元素,所以答案是-1。实例2:输入:nums

力扣sql刷题记录

文章目录直接排序就可以了2377.整理奥运表2504.把名字和职业联系起来不连表,直接`select`内部套两个子查询就行了597.好友申请I:总体通过率2072.赢得比赛的大学`if`语句嵌套在`select`里直接得结果608.树节点(从一小题窥见mysql中`notin`和`null`关系)610.判断三角形626.换座位(精彩题)1212.查询球队积分1294.不同国家的天气类型1440.计算布尔表达式的值1873.计算特殊奖金2051.商店中每个成员的级别2298.周末任务计数表都不用连,直接`where`判断得结果584.寻找用户推荐人595.大的国家620.有趣的电影1142.过

力扣--动态规划300.最长递增子序列

一开始想到的方法非常低效,但好理解。 思路分析:使用二维数组dp来记录递增子序列的长度信息,其中dp[i][0]表示以nums[i]结尾的最长递增子序列的长度,dp[i][1]表示包含nums[i]的最长递增子序列的长度。初始化dp数组,将以第一个元素结尾的递增子序列长度置为0。使用两层循环遍历数组,比较当前元素与前面元素的大小关系,更新dp数组的值。最终返回最后一个元素的两种状态中的最大值,即为整个数组的最长递增子序列的长度。这种动态规划算法的时间复杂度为O(n^2),其中n为数组的长度。classSolution{public://函数用于计算最长递增子序列的长度intlengthOfLI