随笔分类 - 数据结构与算法
1
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V
阅读全文
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", needle = "ll"
阅读全文
摘要:题目描述 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数? 为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。 ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1
阅读全文
摘要:# 题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 # 思路 深度优先遍历二叉树 统计路径和 ``` import java.util.ArrayList; /** public class TreeNode { int val = 0; TreeNode left ...
阅读全文
摘要:标题: 数的分解(本题总分:10 分) 【问题描述】 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。
阅读全文
摘要:84. 柱状图中最大的矩形 leetcode 困难题 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 来源:力扣(Lee
阅读全文
摘要:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 来源:力扣(LeetCode) 链接:https://leetco...
阅读全文
摘要:5. 最长回文子串(leetcode 中等题) 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" ``` class Solution { public String longestPalindro...
阅读全文
摘要:leetcode 假设你有两个数组,一个长一个短,短的元素均不相同。找到长数组中包含短数组所有的元素的最短子数组,其出现顺序无关紧要。 返回最短子数组的左端点和右端点,如有多个满足条件的子数组,返回左端点最小的一个。若不存在,返回空数组。 示例 1: 输入: big = [7,5,9,0,2,1,3
阅读全文
摘要:```public static int mySqrt(int x) { if(x==0)return 0; int left = 1; int right = x/2; while (left x/mid){ right = mid-1; }else{ lef...
阅读全文
摘要:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例: 给你这个链表:1 2 3 4 5 当 k = 2 时,应当返回: 2 1 4 3 5 当 k = 3 时,应
阅读全文
摘要:
阅读全文
摘要:根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, , , / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入: ["2", "1", "+",
阅读全文
摘要:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 示例: 输入: ["MinStack","push
阅读全文
摘要:问题 1004: [递归]母牛的故事 时间限制: 1Sec 内存限制: 128MB 提交: 38150 解决: 11352 题目描述 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组成,
阅读全文
摘要:问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数; 2. 年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个整数y,表示当前的年份。 输出格式 输出一行,如果给定的年份是闰年,则输出yes,否则输出no。
阅读全文
摘要:``` #include using namespace std; int main() { int n; cin>>n; int f1=1; int f2=1; int f3; if(n==1||n==2){ cout<<1; return 0; } for(int i=3;i<=n;i++){ f3=f2+f1; f1=f2%10007; f2=f3%10007; } cout<<f3%100
阅读全文
摘要:``` #include #include #include using namespace std; int main() { double PI = atan(1.0)*4; double r; cin>>r; cout << fixed << setprecision(7)<<PI*r*r; return 0; } ```
阅读全文
摘要:``` #include using namespace std; int main() { double n; cin>>n; long long sum = 0; sum = (1+n)*n/2; cout<<sum; return 0; } ```
阅读全文
摘要:``` #include using namespace std; int main() { int a,b; cin>>a>>b; cout<<a+b; return 0; } ```
阅读全文
1

浙公网安备 33010602011771号