Good Vegetable 4级算法题 分值: [320/3120] 问题: [8/78]
题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注一个字符串是非回文的,当且仅当,他只由前p个小写字母构成,而且他不包含长度大于等于2的回文子串。
给出长度为n的非回文串s。请找出字典序比s大的,而且字典序要最小的长度为n的非回文。
Input单组测试数据。
第一行有两个整数n 和p (1≤n≤1000; 1≤p≤26)。
第二行包含一个字符串s,它的长度是n。输入保证他是非回文的。Output输出字典序比s大的且字典序要最小的长度为n的非回文,如果不存在输出NO。Input示例样例输入1
3 3
cba
样例输入2
3 4
cbaOutput示例样例输出1
NO
样例输出2
cbd
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
char s[];
int n,p;
bool solve(int cur , bool flag){
if(cur==n)return ;
char fix;
if(flag){
fix = 'a';
}
else {
fix = s[cur];
if(cur==n-)fix++;
}
for(;fix < p;fix++){
if((cur > &&fix == s[cur - ]) || (cur > &&fix == s[cur - ]))continue;
if(fix > s[cur])flag=true;
s[cur] = fix;
if(solve(cur + ,flag))return true;
}
return false;
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
cin>>n>>p;
p+='a';
cin>>s;
if(solve(,false)){
cout<<s<<endl;
}
else cout<<"NO"<<endl;
}
基准时间限制:1 秒 空间限制:10240 KB 分值: 40 难度:4级算法题收藏关注一个n(3<=n<=100)个点的完全图,现在给出n,要求将每条边都染上一种颜色k(1<=k<=n),最终使得所有三个点构成的环(C(n,3)个不同的换)上三条边的颜色和在所有颜色中任选三种颜色的组合(C(n,3)种方案)一一对应,由你来给出染色方案。本题有多组数据Input第一行一个整数T,表示数据组数
接下来T行每行一个整数n,表示完全图的点数Output输出由T个部分组成
每个部分的第一行一个整数n,表示完全图的点数
第二行表示构造结果
如果无解输出No solution
否则输出n*(n-1)/2条边的起点、终点和颜色Input示例2
4
3Output示例4
No solution
3
1 2 3 2 3 1 3 1 2
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define mp make_pair
typedef long long LL;
typedef pair<int,int> pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = ;
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
int T;
cin>>T;
while(T--){
int n ;
cin>>n;
printf("%d\n",n);
if(n&){
for(int i = ; i < n ; i++){
for(int j = i + ; j <= n ; j++){
printf("%d %d %d ",i,j,(i+j-)%n+);
}
}
}
else printf("No solution");
puts("");
}
}
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注lyk拥有一个区间。它规定一个区间的价值为这个区间中所有数and起来的值与这个区间所有数or起来的值的乘积。例如3个数2,3,6。它们and起来的值为2,or起来的值为7,这个区间对答案的贡献为2*7=14。现在lyk有一个n个数的序列,它想知道所有n*(n+1)/2个区间的贡献的和对1000000007取模后的结果是多少。例如当这个序列为{3,4,5}时,那么区间[1,1],[1,2],[1,3],[2,2],[2,3],[3,3]的贡献分别为9,0,0,16,20,25。Input第一行一个数n(1<=n<=100000)。
接下来一行n个数ai,表示这n个数(0<=ai<=10^9)。Output一行表示答案。Input示例3
3 4 5Output示例70
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
const int maxn = 1e5+;
int n ;
int a[maxn];
int Or[],And[];
int ans[];
LL res = ;
void cnt(int l , int r){
int mid = (l + r) >> ;
int s = ;
Or[s] = And[s] = a[mid];
ans[s] = ;
for(int i = mid + ; i <= r; i++){
if( ( (Or[s]|a[i]) == Or[s] ) && ( (And[s]&a[i]) == And[s] ) ){
ans[s]++;
}
else {
s++;
Or[s] = Or[s - ] | a[i];
And[s] = And[s - ] & a[i];
ans[s] = ;
}
}
int nowor = a[mid] ,nowand = a[mid];
for(int i = mid; i >= l ; i--){
nowor |= a[i];
nowand &= a[i];
for(int j = ; j <= s; j++){
res = (res + ( (1LL * ( nowor | Or[j] ) % mod * ( nowand & And[j] ) )% mod ) * ans[j]) % mod ;
}
}
if(l < mid){
cnt(l , mid - );
}
if(r > mid){
cnt(mid + , r);
}
}
void work() {
cin>>n;
for(int i = ; i < n ; i++)scanf("%d",&a[i]);
cnt(,n - );
cout<<res<<endl;
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
work();
}
题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注现在有三根木棒,他们的长度分别是a,b,c厘米。你可以对他们进行加长(不同的木棒可以增加不同的长度),他们总的加长长度不能超过L厘米。你也可以不对他们进行加长。
现在请你计算一下有多少种加长的方式使得他们能构成合法的三角形(面积非0)。
Input单组测试数据。
共一行,包含4 个整数a,b,c,L (1≤a,b,c≤3*10^5, 0≤L≤3*10^5)。Output输出答案占一行。Input示例1 1 1 2Output示例4
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
const int maxn = 1e5+;
int a , b , c;
int l ;
LL res = ;
LL solve(int bigest , int x, int y){
LL ans = ;
int _t = bigest + x + y + l;
for(int i = ; i <= l ; i++){
int t = min(_t - bigest - i , bigest + i);
if(x + y <= t){
ans += 1LL * (t - x - y + ) * (t - x - y + ) / ;
}
}
return ans ;
}
void work() {
cin>>a>>b>>c>>l;
res = 1LL * (l + ) * (l + ) * (l + ) / ;
res -= solve(a,b,c);
res -= solve(b,a,c);
res -= solve(c,a,b);
cout<<res<<endl;
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
work();
}
题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注q=5√+12,在黄金系统下面a0a1...an等于 ∑ni=0ai∗qn−i ,其中 ai 是0或者1。
现在给出两个黄金系统下面的数字,请比较他们的大小。
Input单组测试数据。
第一行有一个字符串A。
第二行有一个字符串B。
按照a0到an的顺序输入。
他们都是非空串,可能有前导0,并且只有0和1组成,长度不超过100000。Output如果A>B,输出>;
如果A=B,输出=;
如果A<B,输出<;Input示例00100
11Output示例=
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
const int maxn = 1e5+;
int cp[maxn];
char A[maxn],B[maxn];
void work(){
cin>>A>>B;
int alen = strlen(A),blen = strlen(B);
int cplen = max(alen,blen);
for(int i = cplen - , a = alen - ,b = blen - ; i >= ; i--,a--,b-- ){
cp[i] = (a >= ? A[a] : '') - (b >= ? B[b] : '');
}
for(int i = ; i < cplen - ; i++){
if(cp[i]){
cp[i+] += cp[i];
cp[i+] += cp[i];
if(cp[i+] > ){
cout<<">"<<endl;
return;
}
else if(cp[i+] < -){
cout<<"<"<<endl;
return;
}
cp[i] = ;
}
}
if(cp[cplen-]==&&cp[cplen-] == ){
cout<<"="<<endl;
return;
}
double ans = ( sqrt(.) + )*cp[cplen-] / +cp[cplen-];
if(ans > ){
cout<<">"<<endl;
}
else cout<<"<"<<endl;
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
work();
}
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注杰西最近在研究卷积,例如一个数字1234,那么经过杰西的变换后,就会变成1*4+2*3+3*2+4*1,例如一个数字是234,那么就会变成2*4+3*3+4*2。
形象化的,我们可以设f(x)表示x经过杰西变换后的值。用公式表示 x=dn−1dn−2...d2d1d0 那么 f(x)=∑n−1i=0di∗dn−1−i
例如f(1234)=20,f(234)=25。
现在他想到了一个问题。
如果他想知道对于所有i=L~R时的f(i)的值的和,该怎么做呢。
现在这个问题交给了你。
但是这个答案可能会非常大,因此杰西只想知道最终答案对1000000007取模后的答案。
Input单组测试数据
一行两个整数L,R(1<=L<=R<=10^18)。Output一个数表示答案。Input示例3 233Output示例8730
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
const int maxn = 1e5+;
LL ztt = ;//1^2 + 2^2 + 3^2……+9^2
LL tp[];
LL sum[];
LL cnt[];//有前导0
LL all[];//无前导0
int base[];
int len = ;
void add(LL &a,LL b) {
a += b;
if(a >= mod)a -= mod;
}
LL dfs(int cur) {
LL res = ;
if(!cur) {
for(int i = len; i; i--) {
add(res,base[i]*base[len-i+]);
}
return res;
}
for(int i = (cur==len); i < base[cur]; i++) {
for(int j = len ; j; j--) {
int k = len - j + ;
if(j > cur) {
if(k > cur)add(res,(base[j] * base[k] * tp[cur-]) % mod);
else if(k == cur)add(res,(base[j] * i * tp[cur-]) % mod);
else add(res,(base[j] * * tp[cur-]) % mod);
}
else if(j == cur){
if(k > cur)add(res,(base[k] * i * tp[cur-]) % mod);
else if(k == cur)add(res,(i * i * tp[cur-]) % mod);
else add(res,(i * * tp[cur-]) % mod);
}
else {
if(k > cur)add(res,(base[k] * * tp[cur-]) % mod);
else if(k == cur)add(res,(i * * tp[cur-]) % mod);
else {
if(j == k)add(res,(ztt * tp[cur-]) % mod);
else add(res,( * * tp[cur-]) % mod);
}
}
}
}
return (res + dfs(cur - )) % mod;
}
LL solve(LL x) {
if(x < )return ;
len = ;
for(; x; x/=) {
base[++len] = x%;
}
return (dfs(len) + sum[len-]) % mod;
}
void work() {
LL r,l;
cin>>l>>r;
cout<<(solve(r) - solve(l-) + mod) % mod<<endl;
}
void init() {
cnt[] = all[] = ;
cnt[] = all[] = ztt;
tp[] = ;
tp[] = ;
for(int i = ; i < ; i++) {
tp[i] = (tp[i-] * ) % mod;
all[i] = ((cnt[i-] * * )%mod + ( * * * tp[i-]) % mod) % mod;
cnt[i] = ((cnt[i-] * * )%mod + ( * * * tp[i-]) % mod) % mod;
}
for(int i = ; i < ; i++) {
sum[i] = (sum[i-] + all[i]) % mod;
}
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
init();
work();
}
题目来源: CodeForces基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注一只猪走进了一个森林。很凑巧的是,这个森林的形状是长方形的,有n行,m列组成。我们把这个长方形的行从上到下标记为1到n,列从左到右标记为1到m。处于第r行第c列的格子用(r,c)表示。
刚开始的时候猪站在(1,1),他的目标是走到(n,m)。由于猪回家心切,他在(r,c)的时候,只会往(r+1,c)或(r,c+1)走。他不能走出这个森林。
这只猪所在的森林是一个非同寻常的森林。有一些格子看起来非常相似,而有一些相差非常巨大。猪在行走的过程中喜欢拍下他经过的每一个格子的照片。一条路径被认为是漂亮的当且仅当拍下来的照片序列顺着看和反着看是一样的。也就是说,猪经过的路径要构成一个回文。
数一数从(1,1)到(n,m)有多少条漂亮路径。答案可能非常巨大,请输出对 109+7 取余后的结果。
样例解释:有三种可能
Input单组测试数据。
第一行有两个整数 n,m (1≤n,m≤500),表示森林的长和宽。
接下来有n行,每行有m个小写字母,表示每一个格子的类型。同一种类型用同一个字母表示,不同的类型用不同的字母表示。Output输出答案占一行。Input示例3 4
aaab
baaa
abbaOutput示例3
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
const int maxn = 1e5+;
char maz[][];
LL dp[][][];
int n , m;
void update(LL &a,LL b) {
a += b;
if(a >= mod)a -= mod;
}
void work() {
int s = ;
int half = (n + m) >> ;
dp[s][][n] = (maz[][] == maz[n][m]);
for(int i = ; i <= half; i++) {
s^=;
memset(dp[s],,sizeof(dp[s]));
for(int x = ; x <= n && x <= i; x++) {
for(int _x = n; _x > && _x >= n - i + ; _x--) {
int y = i - x + ;
int _y = m + n + - i - _x;
if(maz[x][y]!=maz[_x][_y])continue;
// cout<<"-----"<<endl;
// cout<<i<<endl;
// cout<<x<<" "<<y<<endl;
// cout<<_x<<" "<<_y<<endl;
// cout<<"-----"<<endl;
update(dp[s][x][_x],dp[s^][x][_x]);
update(dp[s][x][_x],dp[s^][x-][_x]);
update(dp[s][x][_x],dp[s^][x-][_x+]);
update(dp[s][x][_x],dp[s^][x][_x+]);
}
}
}
LL res = ;
if((n+m+) & ) {
for(int x = ; x <= n; x++) {
for(int _x = n ; _x ; _x--) {
int y = half - x + ;
int _y = m + n + - half - _x;
if(x==_x&&y==_y)
update(res,dp[s][x][_x]);
}
}
} else {
for(int x = ; x <= n; x++) {
for(int _x = n ; _x ; _x--) {
int y = half - x + ;
int _y = m + n + - half - _x;
if(x==_x||y==_y)
update(res,dp[s][x][_x]);
}
}
}
cout<<res<<endl;
}
void init() {
cin>>n>>m;
for(int i = ; i <= n; i++)scanf("%s",maz[i]+);
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
init();
work();
}
题目来源: TopCoder基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题收藏关注有一个矩形区域被划分为N行M列的网格,每个格子里有一定数量的资源并记录在矩阵val中,坐标(x,y)位置上资源量为val[x][y],其val中每个元素的值为0~9的整数。如果你在某个网格(a,b)上造一座保护塔,那么你可以占领K个网格中的资源,这K个格子分别是(a+dx[1],b+dy[1]),(a+dx[2],b+dy[2]),...,(a+dx[K],b+dy[K]),注意(a,b)这格本身可能未必会被占领。现在你能建造不超过2个塔,问最多能占领多少资源?一个网格被多个塔占领时其资源只计算一次。另外如果计算的位置(a+dx[i],b+dy[i])在网格外,则不贡献任何资源。Input多组测试数据,第一行一个整数T,表示测试数据数量,1<=T<=5
每组测试数据有相同的结构构成:
每组数据第一行三个整数N,M,K,其中2<=N,M<=100,1<=K<=10。
之后会有N行,每行M个元素,表示val矩阵。每个元素为0~9,占一个字符,元素间没空格。
再接下来有K行,每行两个整数dx[i]与dy[i],其中-(N-1)<=dx[i]<=N-1,-(M-1)<=dy[i]<=(M-1).Output每组数据一行输出,即可占领的最大资源总量。Input示例3
2 2 2
11
11
0 0
0 1
2 2 2
11
11
0 0
1 1
2 2 1
15
61
0 0Output示例4
3
11
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <string>
#include <stack>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
#define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> Pii;
const int inf = 0x3f3f3f3f;
const LL INF = 1LL<<;
const int mod = ;
const int N = 1e5+;
const double Pi = acos(-1.0);
const int maxn = 1e5+;
char maz[][];
int id[][];
bool vis[][];
int n,m,k;
int ros[];
int tol;
int dx[],dy[];
int ne[];
int rmq[][];
int ans;
bool judge(int x,int y) {
return x >= && y >= && x < n && y < m;
}
void init_rmq() {
int l = (log((double)tol)/log(.));
for(int i = ; i < tol; i++)rmq[i][] = ros[i];
for(int j = ; j < l; j++) {
for(int i = ; (i + ( << j) ) < tol; i++) {
rmq[i][j+] = max(rmq[i][j],rmq[i+(<<j)][j]);
}
}
}
int get_Max(int l ,int r) {
int len = r - l + ;
len = log((double)len)/log(.);
int res = max(rmq[l][len],rmq[r-(<<len)+][len]);
// cout<<l<<" "<<r<<endl;
// cout<<res<<endl;
return res;
}
void work() {
for(int i = ; i < tol; i++) {
int nes = ;
int x = i / m,y = i % m;
for(int j = ; j < k; j++) {
int nx = x + dx[j],ny = y +dy[j];
if(!judge(nx,ny))continue;
vis[nx][ny] = ;
for(int z = ; z < k ; z++) {
int xx = nx - dx[z],yy = ny - dy[z];
if(judge(xx,yy)) {
ne[nes++] = id[xx][yy];
}
}
}
ne[nes++] = -;
ne[nes++] = tol;
sort(ne,ne+nes);
nes = unique(ne,ne+nes) - ne;
int res = ;
for(int _i = ; _i < nes - ; _i++) {
if((ne[_i] + ) <= (ne[_i+] - )) {
res = max(res,get_Max(ne[_i] + , ne[_i+] - ));
}
}
// for(int i = 0 ; i < nes;i++)printf("%d ",ne[i]);
// cout<<endl;
// cout<<ros[i]<<endl;
// cout<<res<<endl;
// cout<<"-----"<<endl;
for(int _i = ; _i < nes - ; _i++) {
int _res = ;
int ID = ne[_i];
int _x = ID / m,_y = ID % m;
for(int j = ; j < k; j++) {
int nx = _x + dx[j],ny = _y +dy[j];
if(!judge(nx,ny)||vis[nx][ny])continue;
_res += maz[nx][ny] - '';
}
res = max(res,_res);
}
for(int j = ; j < k; j++) {
int nx = x + dx[j],ny = y + dy[j];
if(!judge(nx,ny))continue;
vis[nx][ny] = ;
}
ans = max(ans,ros[i] + res);
}
cout<<ans<<endl;
}
void init() {
memset(ros,,sizeof ros);
tol = ;
ans = ;
cin>>n>>m>>k;
for(int i = ; i < n ; i++) {
scanf("%s",maz[i]);
for(int j = ; j < m ; j++) {
id[i][j] = tol++;
}
}
for(int i = ; i < k ; i++) {
scanf("%d%d",&dx[i],&dy[i]);
}
for(int i = ; i < tol; i++) {
int x = i / m,y = i % m;
for(int j = ; j < k; j++) {
int nx = x + dx[j],ny = y + dy[j];
if(!judge(nx,ny))continue;
ros[i] += maz[nx][ny] - '';
}
}
init_rmq();
// cout<<rmq[0][1]<<endl;
}
int main() {
#ifdef local
freopen("in", "r", stdin);
#endif
int T;
cin>>T;
while(T--) {
init();
work();
}
}
Good Vegetable 4级算法题 分值: [320/3120] 问题: [8/78]的更多相关文章
- 51nod图论题解(4级,5级算法题)
51nod图论题解(4级,5级算法题) 1805 小树 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 她发现她的树的点上都有一个标号(从1到n),这些树都在空 ...
- 51nod 1402 最大值 3级算法题 排序后修改限制点 时间复杂度O(m^2)
代码: 题意,第一个数为0,相邻的数相差0或者1,有一些点有限制,不大于给定值,求这组数中可能的最大的那个数. 这题我们看一个例子:第5个数的限制为2 1 2 3 4 5 6 7 8 9 0 1 2 ...
- LeetCode算法题-Subdomain Visit Count(Java实现)
这是悦乐书的第320次更新,第341篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第189题(顺位题号是811).像"discuss.leetcode.com& ...
- LeetCode算法题-To Lower Case(Java实现)
这是悦乐书的第301次更新,第320篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第169题(顺位题号是709).实现具有字符串参数str的函数ToLowerCase() ...
- 经典算法题每日演练——第六题 协同推荐SlopeOne 算法
原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,“商品推荐”,"猜你喜欢“,在实体店中我们有导购来为 ...
- 经典算法题每日演练——第七题 KMP算法
原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...
- LeetCode算法题-Number of Lines To Write String(Java实现)
这是悦乐书的第319次更新,第340篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第188题(顺位题号是806).我们要将给定字符串S的字母从左到右写成行.每行最大宽度为 ...
- LeetCode算法题-Unique Morse Code Words(Java实现)
这是悦乐书的第318次更新,第339篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第186题(顺位题号是804).国际莫尔斯电码定义了一种标准编码,其中每个字母映射到一系 ...
- LeetCode算法题-Rotate String(Java实现)
这是悦乐书的第317次更新,第338篇原创 在开始今天的算法题前,说几句,今天是世界读书日,推荐两本书给大家,<终身成长>和<禅与摩托车维修艺术>,值得好好阅读和反复阅读. 0 ...
随机推荐
- 老李推荐:第2章2节《MonkeyRunner源码剖析》了解你的测试对象: NotePad窗口Activity之NotesList简介
老李推荐:第2章2节<MonkeyRunner源码剖析>了解你的测试对象: NotePad窗口Activity之NotesList简介 NotePad窗口Activity之NotesL ...
- display与visibility的使用(区别)
display:none;隐藏元素,且此元素无物理位置: visibility:hidden;隐藏元素,但元素的物理位置依然存在: 因为display:none导致页面上无此元素的空间,js就获取不到 ...
- 拉普拉斯矩阵(Laplace Matrix)与瑞利熵(Rayleigh quotient)
作者:桂. 时间:2017-04-13 07:43:03 链接:http://www.cnblogs.com/xingshansi/p/6702188.html 声明:欢迎被转载,不过记得注明出处哦 ...
- BeautifulSoup库children(),descendants()方法的使用
BeautifulSoup库children(),descendants()方法的使用 示例网站:http://www.pythonscraping.com/pages/page3.html 网站内容 ...
- vim粘贴代码问题
vim粘贴代码问题 vim 在使用xshell进行vim操作的时候,经常会直接粘贴一些外部的代码,然后粘贴上之后会出现逐行缩进的情况,之前一直没有去找为啥,并且逐行的给他弄回去. 转自:https:/ ...
- WPF中button按钮同时点击多次触发click解决方法
DateTime lastClick = DateTime.Now; object obj = new object(); ; private void Button_Click(object sen ...
- 光场相机重聚焦之三——Matlab光场工具包使用、重聚焦及多视角效果展示
这一小节说一下Matlab光场工具包的使用,展示重聚焦和多视角的效果. 从Lytro illum中导出的raw数据为.lfp格式的光场图像文件(约52M大小),该文件包含以下几部分:光场图像数据raw ...
- 纯原生javascript实现分页效果
随着近几年前端行业的迅猛发展,各种层出不穷的新框架,新方法让我们有点眼花缭乱. 最近刚好比较清闲,所以没事准备撸撸前端的根基javascript,纯属练练手,写个分页,顺便跟大家分享一下 functi ...
- Spring Cloud搭建微服务架构----前言
前言 微服务并不神秘,只是在互联网技术发展过程中的一个产物,整个架构系统随着客户端的多样性,服务越来越多,devops的发展而产生的架构变种. 许多公司,通过采用微处理结构模式解决单体应用的问题,分解 ...
- 使用Perl提取Excel中的IO_MUX
使用Perl提取Excel中的IO_MUX 关键问题 提取数据 格式化输出 循环嵌套 数据结构构建 坐标映射,逆向提取关键字 描述 在IC集成中,我们使用Excel表格规划设计的IC引脚功能映射需要转 ...