Directorio de artículos
1. DP35 [Plantilla] Suma de prefijo bidimensional
1. Introducción al tema
DP35 [Plantilla] Suma de prefijo bidimensional
La pregunta proviene de Niuke.com y se puede practicar a través del enlace.
2. Ideas para resolver problemas
3.Código
#include <iostream>
using namespace std;
#include<vector>
int main() {
int n, m, q;
while (cin >> n >> m >> q) {
vector<vector<long long>> nums(n + 1, vector<long long> (m + 1));
for(int i = 1;i <= n; ++i)
{
for(int j = 1;j <= m; ++j)
{
cin>>nums[i][j];
}
}
vector<vector<long long>> dp(n + 1, vector<long long> (m + 1));
for(int i = 1;i <= n; ++i)
{
for(int j = 1;j <= m; ++j)
{
dp[i][j] = nums[i][j] + dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1];
}
}
while(q--)
{
int x1 = 0, y1 = 0, x2 = 0, y2 = 0;
cin >> x1 >> y1 >> x2 >> y2;
cout<<dp[x2][y2] - (dp[x1 - 1][y2] + dp[x2][y1 - 1] - dp[x1 - 1][y1 - 1])<<endl;
}
}
return 0;
}
4. Resultados de ejecución
2. Pregunta de la entrevista 01.01. Determinar si los personajes son únicos.
1. Introducción al tema
Pregunta de la entrevista 01.01. Determinar si los personajes son únicos.
La pregunta proviene de Leetcode y se puede practicar a través del enlace.
2. Ideas para resolver problemas
3.Código
class Solution {
public:
bool isUnique(string astr) {
//用一个整数来充当哈希表
int n = 0;
for(auto& e : astr)
{
int t = e - 'a';
if((n & (1 << t)) == 0)
{
n ^= (1 << t);
}
else
{
return false;
}
}
return true;
}
};
4. Resultados de ejecución
3. 724. Encuentra el subíndice central de la matriz.
1. Introducción al tema
724. Encuentre el subíndice central de una matriz.
La pregunta proviene de Leetcode y se puede practicar a través del enlace.
2. Ideas para resolver problemas
3.Código
class Solution {
public:
int pivotIndex(vector<int>& nums) {
vector<int> lsum(nums.size());//左边的前缀和
vector<int> rsum(nums.size());//右边的前缀和
for(int i = 1;i < nums.size(); ++i)
{
lsum[i] = lsum[i - 1] + nums[i - 1];
}
for(int i = nums.size() - 2;i >= 0; --i)
{
rsum[i] = rsum[i + 1] + nums[i + 1];
}
for(int i = 0;i < nums.size(); ++i)
{
if(lsum[i] == rsum[i]) return i;
}
return -1;
}
};
4. Resultados de ejecución
Resumir
Hoy es el noveno día de práctica de algoritmos, sigan con el buen trabajo.
Si este artículo os ha inspirado, espero que podáis apoyar más al autor, ¡gracias a todos!