算法
算法
GC_Lion
此人不懒,写了一些笔记
展开
-
算法——字符串(1)
给你一个字符串 s ,每 两个 连续竖线 ‘|’ 为 一对。换言之,第一个和第二个 ‘|’ 为一对,第三个和第四个 ‘|’ 为一对,以此类推。给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。进行计数操作,因为0也是偶数,就相当于默认-1位置上有个。返回 不在 竖线对之间,s 中 ‘*’ 的数目。注意,每个竖线 ‘|’ 都会 恰好 属于一个对。解释: 可由子串 “ab” 重复两次构成。而是直接用分段来研究,一段段比,一字字比;计数上出现了误区,不应该想提出来计数,...原创 2022-08-04 10:35:23 · 64 阅读 · 0 评论 -
算法——动态规划(1)
动态规划 1. Fibonacci数列 Fibonacci数列的动态规划算法 斐波那契数列为:0,1,1,2,3,5…… 实例: 输入:12 输出:F(12)=144 #include<bits/stdc++.h> using namespace std; #define int long long signed main() { int n; cin>>n; int Fi[n+1]; Fi[1] = 1, Fi[2] = 1;//我跳过了0 for(in原创 2022-04-23 20:29:45 · 1316 阅读 · 0 评论 -
算法——动态规划(2)
#include <stdio.h> int MaxSum(int n, int a[], int &besti, int &bestj) { int sum = 0; int b = 0; int begin = 0; for (int i = 1; i <= n; i++) { if (b > 0) b+=a[i-1]; else { b = a[i-1]; begin = i-1; } if (b > sum) {原创 2022-05-20 12:17:29 · 81 阅读 · 0 评论 -
算法——回溯法(1)
#include<iostream> using namespace std; #define n 4 int count; int x[n+1];//代表坐标(q, [q]) int place(int q) { //判断能否把Q放在第q行的某列 int i; for(i = 1; i < q; i++) { if(abs(q-i)==abs(x[q]-x[i])||x[q]==x[i]) { //判断是否同列或者同斜线 return 0; } } return原创 2022-06-26 10:05:25 · 98 阅读 · 0 评论 -
算法——数组(1)
解密后的密码为[7+1+4,1+4+5,4+5+7,5+7+1]。由于code是循环的,code[n-1]下一个元素是code[0],且code[0]前一个元素是code[n-1]。你的情报员会给你一个长度为n的循环数组code以及一个密钥k。我们将所有值求和得到1+4+2+5+3+7+11+10+15=58。给你一个正整数数组arr,请你计算所有可能的奇数长度子数组的和。请你返回arr中所有奇数长度子数组的和。......原创 2022-08-02 11:31:39 · 76 阅读 · 0 评论