算法编程笔记
文章平均质量分 93
Yamai Yuzuru
这个作者很懒,什么都没留下…
展开
-
算法练习-牛牛的快递(思路+流程图+代码)
牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费输入描述:第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,'y' 表示加急 ,'n' 表示不加急。输出描述:输出牛牛总共要支付的快递费用示例1输入原创 2024-03-13 10:32:45 · 1045 阅读 · 0 评论 -
算法练习-小乐乐与欧几里得(思路+流程图+代码)
小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解输入描述:每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)输出描述:对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。示例1:输入10 20输出30示例原创 2024-03-11 14:25:06 · 772 阅读 · 0 评论 -
算法练习-组合总和【回溯算法】(思路+流程图+代码)
给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合,candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入:candidates =[2,3,6,7],target = 7,所求解集为:[[7],[2,2,3]]原创 2024-02-25 22:43:39 · 1045 阅读 · 0 评论 -
算法练习-组合【回溯算法】(思路+流程图+代码)
给定两个整数n 和k,返回1..n中所有可能的k个数的组合。示例1:输入:n=4,k= 2输出:[[2,4],[3,4],[2,3], [1,2],[1,3],[1,4], ]示例2:输入:n=1,k= 1输出:[[1]]提示:原创 2024-02-24 22:09:56 · 935 阅读 · 0 评论 -
算法练习-分发饼干【贪心算法】(思路+流程图+代码)
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[j],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入:g =[1,2,3], s=[1,1]输出:1解释:你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干原创 2024-02-22 21:02:41 · 1488 阅读 · 0 评论 -
算法练习-下一个更大元素(思路+流程图+代码)
给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1:输入:[1,2,1]输出:[2,-1,2]解释:第一个1的下一个更大的数是2;数字2找不到下一个更大的数;第二个1的下一个最大的数需要循环搜索,结果也是 2。原创 2024-02-21 15:44:26 · 866 阅读 · 0 评论 -
算法练习-每日气温【单调栈】(思路+流程图+代码)
请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入: temperatures =[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1≥0,0]提示:气温列表长度的范围是[1,30000]。每个气温的值的均为华氏度,都是在[30,100]范围内的整数。原创 2024-02-20 11:05:57 · 989 阅读 · 0 评论 -
算法练习-分割等和子集(思路+流程图+代码)
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过100数组的大小不会超过200示例1:输入:[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。原创 2024-02-19 16:09:26 · 851 阅读 · 0 评论 -
算法练习-01背包问题【含递推公式推导】(思路+流程图+代码)
动态规划经典问题01背包?具体内容:背包最大重量为4 物品如下:重量 价值物品0 1 15物品1 3 20物品2 4 30 问背包能背的最大重量是多少?原创 2024-02-18 22:48:55 · 1576 阅读 · 0 评论 -
算法练习-赎金信(思路+流程图+代码)
给你两个字符串:ransomNote 和 magazine,判断ransomNote 能不能由magazine 里面的字符构成。如果可以,返回true;否则返回false示例1:输入:ransomNote ="a", magazine = "b"输出:false示例2:输入: ransomNote = "aa", magazine ="ab"输出:false额外提示:原创 2024-02-17 18:37:06 · 1082 阅读 · 0 评论 -
算法练习-二叉搜索树中的搜索(思路+流程图+代码)
给定二叉搜索树(BST)的根节点和一个值。你需要在BST中找到节点值等于给定值的节点。返回以该节点为根的子树。如果节点不存在,则返回NULL.示例1:输入:root=[4,2,7,1,3],val=2输出:[2,1,3]示例2:黄章涵输入:root=[4,2,7,1,3],val=5输出:[]提示:树中节点数在[1,5000]范围原创 2024-02-09 08:52:13 · 1516 阅读 · 0 评论 -
算法练习-删除二叉搜索树中的节点(思路+流程图+代码)
给定一个二叉搜索树的根节点root和一个值ky,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。示例1:输入:root=[5,3,6,2,4,null,7],key=3输出:[5,4,6,2,null,null,7]解释:给定需要删除的节点值是3,所以我们首先找到3这个节点,然后删除它。一个正确的答案是[5,4,6,2,null,nul,7原创 2024-02-07 23:00:03 · 1100 阅读 · 0 评论 -
算法练习-二叉搜索树的最小绝对差(思路+流程图+代码)
给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是 [2,10(4)]0原创 2024-02-06 21:24:30 · 996 阅读 · 0 评论 -
算法练习-四数之和(思路+流程图+代码)
给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。示例1:输入:nums=[1,0,-1,0,-2,2]和target=0输出:[[-1,0,0,1],[-2,-1,1,2],[-2,0,0,2]]额外要求:·答案中不可以包含重复的四元组原创 2024-02-05 15:12:00 · 1476 阅读 · 0 评论 -
算法练习-三数之和(思路+流程图+代码)
给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]=0。请你返回所有和为0且不重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输出:[-1,-1,2],[-1,0,1]解释:nums[0]+nums[1]+nums[2]=(-1)+0+1=0.原创 2024-02-04 16:45:17 · 1511 阅读 · 0 评论 -
算法练习-环形链表(思路+流程图+代码)
给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回u。为了表示给定链表中的环,使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。示例1:输入:head=[3,2,0,-4],pos=1输出:节点2解释:链表中有一个环,其尾部连接到第二个节点。额外要求,不允许修改给定的链表原创 2024-02-04 15:02:54 · 1217 阅读 · 0 评论 -
算法练习-左叶子之和(思路+流程图+代码)
计算给定二叉树的所有左叶子之和。示例1:输入:root=[3,9,20,null,nu,15,7]输出:24解释:在这个二叉树中,有两个左叶子,分别是9和15,所以返回24示例2:输入:root=[1]输出:0原创 2024-02-03 16:09:23 · 884 阅读 · 0 评论 -
算法练习-二叉树的节点个数【完全/普通二叉树】(思路+流程图+代码)
给出一棵完全二叉树,求出该树的节点个数!进阶:如果是一棵普通二叉树?输入:root=[1,2,3,4,5,6]输出:6示例2:输入:root=[]输出:0示例3:输入:root=[1]输出:1提示:树中节点的数目范围是[0,5*10^4]0原创 2024-02-02 23:36:24 · 1314 阅读 · 0 评论 -
算法练习-二叉树的层序遍历(思路+流程图+代码)
给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[3],[9,20],[15,7]提示:·树中节点数目在范围[0,20]内-100原创 2024-02-01 10:28:10 · 2634 阅读 · 1 评论 -
算法练习-逆波兰表达式求值(思路+流程图+代码)
根据逆波兰表示法,求表达式的值。有效的运算符包括+,·,*,/。每个运算对像可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为0的情况。示例1:输入:["2","1","+","3","*门输出:9解释:该算式转化为常见的中缀算术表达式为:(2+1)*3)=9原创 2024-01-31 19:56:34 · 1837 阅读 · 0 评论 -
算法练习-删除字符串中所有相邻重复项(思路+流程图+代码)
给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们,在S上反 复执行重复项删除操作,直到无法继续删除,在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例1: 输入:"abbaca"输出:"ca"解释:例如,在"abbaca"中,我们可以删除"bb"由于两字母相邻且相同,这是此时唯一可以执行删除操作的重 复项。之后我们得到字符串"aaca",其中又只有"aa"可以执行重复项删除操作,所以最后原创 2024-01-30 15:24:11 · 1124 阅读 · 1 评论 -
算法练习-螺旋矩阵(思路+流程图+代码)
给定一个正整数n,生成一个包含1到 n^2 所有元素,且元素按【顺时针】顺序螺旋排列的正方形矩阵。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]原创 2024-01-24 20:23:26 · 1788 阅读 · 0 评论 -
算法练习-删除链表倒数第n个节点(思路+流程图+代码)
给你一个链表,删除链表的倒数第个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]额外要求:尝试使用一趟扫描实现?原创 2024-01-23 21:47:22 · 1354 阅读 · 0 评论 -
算法练习-右旋字符串(思路+流程图+代码)
字符串的【右旋转】操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串s和一个 正整数k,请编写一个函数,将字符串中的后面k个字符移到字符串的前面,实现字符串的【右旋转】操作。示例:输入:s="abcdefg",k=2输出:"fgabcde"解释:k=2,所以将字符串s尾的两个字符移动到字符串的开头额外要求: 不能申请额外空间,只能在字符串s上操作。原创 2024-01-21 10:36:19 · 1022 阅读 · 0 评论 -
算法练习-替换数字(思路+流程图+代码)
给定一个字符串S,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number.示例1:输入:s="a5b"输出:"anumberb"解释:将数字5替换成number原创 2024-01-20 17:50:47 · 1417 阅读 · 0 评论 -
算法练习-有效的字母异位词(思路+流程图+代码)
给定两个等长的字符串s和t,并且字符串中只包含小写字母,编写一个函数来判断t是否是s的字母异位词。原创 2024-01-19 14:59:46 · 1114 阅读 · 0 评论 -
算法练习-反转一个单链表(思路+流程图+代码)
链表反转后顺序逆序,由1->2->3->4->5->null,变成了5->4->3->2->1->null原创 2024-01-18 19:30:30 · 1366 阅读 · 0 评论 -
算法练习-A+B/财务管理/实现四舍五入/牛牛的菱形字符(题目链接+题解打卡)
包含Acwing的A + B,百练的财务管理,牛客上的实现四舍五入,牛客上的牛牛的字符菱形的题解,具有题目链接+题解打卡,是今天的练习。原创 2024-01-18 18:24:54 · 444 阅读 · 1 评论 -
算法练习-长度最小的子数组(思路+流程图+代码)
.,给定一个含有个正整数的数组和一个正整数s,找出该数组中满足其和≥s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的子数组,返回0。原创 2024-01-17 14:30:38 · 1311 阅读 · 0 评论 -
算法练习-有序数组平方(思路+流程图+代码)
给你一个按非递减顺序(即递增)排序的整数数组 nums,返回每个数字的平方组成的新数组,要求 也按非递减顺序排序。原创 2024-01-16 20:09:48 · 979 阅读 · 0 评论