[阿里笔试4.1] 申明:大概题意是从牛客网讨论区嫖的,题目的输入、输出以及数据数据范围也有些不知,大家看看思路就好,这些细节就不管了QAQ。有错欢迎纠正~
题目一(贪心)给一串二进制字符串如00011001,希望把他改为全为0,如果更改某个字符,那么他两边的字符也要更改,例如把第二位的0换成1,那么就变成了11111001. 求最少翻转次数。如果无法全0,输出NO。 思路:贪心。分两种情况,第一个值修改/不修改,之后每个值都会受前面数影响,如果到了最后一个位置为1,说明当前处理无解。两者取最小值即可。
#include
using namespace std;
#define ll long long
const int maxn = 100010;
char s[maxn],s2[maxn];
int n;
void f(char &c) {
c = '0'+('1'-c);
}
int cal(char s[]) {
int res = 0;
for(int i = 0;i =怪兽生命时可消灭怪兽,求使用弓箭的最小价值。如无法消灭,返回-1。 思路:优队,维护最小堆。
#include
using namespace std;
#define ll long long
const int maxn = 100010;
const int maxm = 100010;
int n,m;
int monster[maxn];
struct node {
int hit;
int val;
bool operator
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?