- 博客(75)
- 收藏
- 关注
原创 前缀和题目
前缀和和为奇数的子数组数目和为奇数的子数组数目class Solution {public: //前缀和 int numOfSubarrays(vector<int>& arr) { int N=1000000007; long long ans=0; int sum=0;//当前位置的前缀和 int prefix_odd=0;//前缀和为奇数的位置的个数 int prefix_e
2022-05-11 20:31:13 308
原创 动态规划题目2
动态规划粉刷房子粉刷房子class Solution {public: int DP(vector<vector<int>>& costs){ int n=costs.size(); if(n==1)return min(costs[0][0],min(costs[0][1],costs[0][2])); //dp[i][j]:0~i号房子被粉刷且用j颜色粉刷i房子的最小花费 auto dp=
2022-05-01 13:34:54 1024
原创 在线处理算法
在线处理乘积最大子数组乘积最大子数组class Solution {public: int maxProduct(vector<int>& nums) { //初始化当前最小最大乘积 int curMax=1; int curMin=1; int res=INT_MIN; for(int i=0;i<nums.size();++i){ if(nums
2022-04-25 11:21:45 441
原创 分治算法题目
分治不同的二叉搜索树 II不同的二叉搜索树 II解题思路:递归构建左子树,并拿到左子树所有可能的根结点列表left递归构建右子树,并拿到右子树所有可能的根结点列表right/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nul
2022-04-23 21:22:45 173
原创 回溯算法题目
回溯组合在这里插入图片描述组合class Solution {public: vector<vector<int>>res; vector<int>path; void backtracking(int n,int k,int startIndex){ if(path.size()==k){ res.push_back(path); return; }
2022-04-22 11:28:51 538
原创 正则表达式
正则表达式句子中的有效单词数句子中的有效单词数class Solution {public: int countValidWords(string sentence) { regex pattern("[a-z]*([a-z]-[a-z])?[a-z]*[!,.]?"); istringstream is(sentence); string ss; int cnt=0; while(is>>ss)
2022-04-15 21:58:59 90
原创 脑筋急转弯
脑筋急转弯删除回文子序列删除回文子序列解题思路:如果串本身是回文串,则删除一次;否则,第一次删除所有的 ‘a’ , 第二次删除所有的 ‘b’ 。class Solution {public: int removePalindromeSub(string s) { int i=0; int j=s.length()-1; bool isHuiWen=true; while(i<j){ if(s
2022-04-14 18:07:43 114
原创 数组类题目
数组最小操作次数使数组元素相等最小操作次数使数组元素相等class Solution {public: //思路: //假设最后相等的数是x,原数组最小值min,原数组和sum //x*n=(x-min)*(n-1)+sum --->求出x=sum-min*(n-1) //最小操作次数m=x-min=sum-min*n; int minMoves(vector<int>& nums) { long long sum=
2022-04-09 15:21:35 526
原创 C++常见问题
C++常见问题1. 最小最大值函数2. int 型的最大值、最小值1. 最小最大值函数std::min()std::max()2. int 型的最大值、最小值INT_MIN INT_MAX
2022-04-09 15:10:03 576
原创 快速幂运算
快速幂运算垒骰子【第六届】【蓝桥杯省赛】【A组】垒骰子【第六届】【蓝桥杯省赛】【A组】注意: 这类大数据题目,最好每个数据类型都用 long , 且每一步都要及时对1000000007取余,以免溢出。解题思路: 算法是用到了 整数快速幂 和 矩阵快速幂 。根据题意,我们需要计算n个骰子垒成n层共有几种方式。需要注意,题目提到当且仅当两种方式中对应高度的骰子的对应数字的朝向都相同,两种方式才相同。这意味着每层骰子的每个数字朝向都相同时,才属于同一种方式。首先不妨只考虑向上的一面,向上的一面一旦
2022-03-21 14:51:05 273
原创 队列结构题目
队列数据流中的移动平均值数据流中的移动平均值class MovingAverage { public Queue<Integer>q; int size; int sum; public MovingAverage(int size) { q=new LinkedList<>(); this.size=size; sum=0; } public double next
2022-03-17 14:06:38 440
原创 快慢指针题目
快慢指针链表的中间结点链表的中间结点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; t
2022-03-17 11:01:27 1130
原创 枚举类题目
枚举蓄水蓄水class Solution { //总次数 = 倒水次数 + 水桶总升级次数 //由倒水次数可以推出水桶的总升级次数,就可求出总次数,因此可以枚举倒水次数 //单个水桶的升级次数 = 该水桶容量 / 倒水次数 - 该水桶初始蓄水量 public int storeWater(int[] bucket, int[] vat) { //枚举倒水次数 int ans=Integer.MAX_VALUE;
2022-03-16 20:07:10 592
原创 栈结构题目
栈有效的括号有效的括号class Solution { public boolean isValid(String s) { Stack<Character>st=new Stack<>(); int i=0; while(i<s.length()){ if(st.isEmpty()){ if(s.charAt(i)==')'||s.charAt(i)==
2022-03-13 17:00:07 1348
原创 数学类题目
数学期望个数统计期望个数统计class Solution { public int expectNumber(int[] scores) { Set<Integer>set=new HashSet<>(); for(Integer i:scores){ set.add(i); } return set.size(); }}...
2022-03-11 16:51:47 98
原创 二叉树递归套路(树形DP)
二叉树递归套路--树形DP检查平衡性检查平衡性/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public class Info{ publ
2022-03-04 21:38:23 479
原创 宽度优先搜索
宽度优先搜索二叉搜索树中两个节点之和二叉搜索树中两个节点之和/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val,
2022-03-02 08:52:32 362
原创 二分查找题目
二分查找最接近的二叉搜索树值最接近的二叉搜索树值/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNo
2022-02-27 22:41:09 277
原创 深度优先搜索
DFS相同的树相同的树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, Tr
2022-02-27 16:28:24 115
原创 双指针题目
双指针判断子序列判断子序列class Solution { public boolean process(String s,String t){ if(s.length()>t.length()||t==null)return false; int i=0; int j=0; while(i<s.length()&&j<t.length()){ if(s.charAt
2022-02-26 16:31:16 160
原创 其他算法题目
其他算法题目划分数组最长可整合子数组长度划分数组import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int[] arr=new int[n]; for(int i=0;i<n;++i) { arr[i]=scan.next
2022-02-15 16:30:41 125
原创 搜索算法题目
搜索算法题目有序矩阵查找目标值有序矩阵查找目标值import java.util.*;public class Solution { public int[] findElement(int[][] mat, int n, int m, int x) { // write code here int row=0; int col=m-1; int[] ans=new int[2]; while(row<
2022-02-15 12:17:06 414
原创 业务类题目
业务类题目买苹果贪心打表买苹果贪心import java.util.Scanner;public class Main { public static int process(int n) { if(n%2==1)return -1; int ans=0; for(int i=n/8;i>=0;--i) { if((n-i*8)%6==0) { ans=i+(n-i*8)/6;break; } } return ans; } public
2022-02-13 08:36:57 149
原创 预处理题目
预处理题目正方形染色边框全1最大正方形大小正方形染色import java.util.Scanner;public class Main { public static int process(String s) { int[] leftG=new int[s.length()]; int[] rightR=new int[s.length()]; int left=0,right=0; for(int i=0;i<s.length();++i) { if(s.c
2022-02-08 22:39:43 207
原创 博弈类题目
博弈类题目青草游戏青草游戏import java.util.Scanner;public class Main { public static String process(int n) { if(n<5) { if(n==0||n==2)return "后手"; else return "先手"; } int res=1; while(res<=n) { if(process(n-res).equals("后手")) { retu
2022-02-08 20:11:32 2057
原创 模拟算法题目
模拟算法题目旋转词旋转词题目解析: KMP算法应用import java.util.Scanner;//模拟-旋转词public class Main { public static class KMP{ public String s1; public String s2;//目标串 public int next[]; public KMP(String s1,String s2) { this.s1=s1; this.s2=s2; if(s2.
2022-02-05 11:07:35 858
原创 动态规划题目1
暴力递归改动态规划机器人到达指定位置方法数机器人到达指定位置方法数import java.util.Scanner;public class Robot { public static int ways(int N,int P,int cur,int rest) { if(rest==0) { return cur==P?1:0; } if(cur==1)return ways(N,P,cur+1,rest-1); if(cur==N)return ways(N,P
2022-02-03 20:23:12 444
原创 字符串题目
字符串题目神器大师泰兹瑞与威穆神器大师泰兹瑞与威穆import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scan=new Scanner(System.in); String s,t; s=scan.nextLine(); t=scan.nextLine(); StringBuffer ss=new StringBuffer(s);
2022-01-19 16:04:51 194
原创 Java 大整数运算
import java.math.BigInteger;import java.util.Scanner;public class H { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int n=scan.nextInt(); for(int i=0;i<n;++i) { String a=scan.next(); String b=scan.nex
2022-01-17 20:18:03 255
原创 BUCT OJ
BUCT OJACM罚时ACM罚时package day_1_17;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;public class C { public static class Record{ public int hour; public int minute; pu
2022-01-17 20:11:37 489
原创 并查集结构
并查集结构并查集结构实现并查集题目岛问题并查集结构实现并查集的 unionunionunion 操作与 isSameSetisSameSetisSameSet 操作都是 O(1)O(1)O(1) (在操作次数比较多,趋近或者超过数据规模大小的时候)。 public static class Element<K>{ public K key; public Element(K key) { this.key=key; } } public static class Un
2022-01-16 23:32:28 148
原创 暴力递归问题
暴力递归问题1. 汉诺塔问题1. 汉诺塔问题import java.util.Scanner;public class Hanoi { public static void Hanoi(int N,String from,String to,String other) { if(N==1) { System.out.println("Move "+1+" from "+from+" to "+to); return; } Hanoi(N-1,from,other,t
2021-12-21 10:07:54 322
原创 基础算法汇总
基础算法汇总1. 素数1. 素数bool isPrime(int x){ if(x==1)return false; if(x==2)return true; for(int i=2;i<x;++i){ if(x%i==0)return false; } return true;}
2021-12-11 21:57:46 251
原创 贪心算法题目
贪心算法题目1. 会议室问题1. 会议室问题注意: 在写比较器时,对于两个会议,在会议结束时间不同时,要按照 结束时间早的排前面 ,但是,当会议结束时间相同时,要按照 会议开始的时间早的排前面 (否则,通不过全部测试) 。import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;import java.util.Scanner;
2021-11-27 18:15:46 2800
原创 前缀树题目
前缀树题目1. 前缀树结构实现1. 前缀树结构实现import java.util.*;public class Solution { /** * * @param operators string字符串二维数组 the ops * @return string字符串一维数组 */ public static class TrieNode{ public int p; public int e; public HashMap&
2021-11-27 10:33:57 252
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人