news 2025/12/25 13:49:04

链式投票|流向贪心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
链式投票|流向贪心

lc

lc797

先凑总和非负,找唯一负数位置

从近到远取两边正数补负数,累计移动步数得最小操作数

class Solution {
public:
long long minMoves(vector<int>& balance) {
long long total = 0;
int neg_idx = -1;
for (int i = 0; i < balance.size(); i++) {
int x = balance[i];
total += x;
if (x < 0) {
neg_idx = i;
}
}

if (total < 0) { // 总和必须非负
return -1;
}
if (neg_idx < 0) { // 没有负数,无需操作
return 0;
}

int n = balance.size();
int need = -balance[neg_idx];
long long ans = 0;
for (int dis = 1; ; dis++) { // 把与 neg_idx 相距 dis 的数移到 neg_idx
int s = balance[(neg_idx - dis + n) % n] + balance[(neg_idx + dis) % n];
if (s >= need) {
ans += 1LL * need * dis; // need 个 1 移动 dis 次
return ans;
}
ans += 1LL * s * dis; // s 个 1 移动 dis 次
need -= s;
}
}
};

lc277

1.找候选人

2.check候选人(3种situation)

/* The knows API is defined for you.
bool knows(int a, int b); */

class Solution
{
public:
int findCelebrity(int n)
{
int candidate = 0; //候选人
for (int x = 1; x < n; x ++)
{
if ( knows(candidate, x) == true ) //若候选人认识别人,就不可能是名人。名人不认识其他人
{
candidate = x; //所有人,一定认识名人
//////小于x的那些,要么是因为 (1)被人不知,if被人知,就抢到了candidate了
//////(2) 要么是因为认识了别人,就放弃了candidate
}
}

for (int x = 0 ; x < n; x ++)
{
if (candidate == x) //名人不认识其他人,但是认识自己
continue;
if ( knows(candidate, x) == true)
return -1; //名人不应该认识 anyone
if (knows(x, candidate) == false)
return -1; //anyone 认识名人
}

return candidate;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/22 16:42:27

零基础图解MinGW安装:小学生都能看懂

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个面向新手的MinGW安装辅助工具&#xff0c;要求&#xff1a;1. 图形化界面&#xff08;Tkinter&#xff09; 2. 分步骤引导安装 3. 实时检测常见错误 4. 内置修复功能 5. 生…

作者头像 李华
网站建设 2025/12/24 21:03:04

对比评测:5种Ubuntu中文输入法的输入效率差异

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个输入法测试工具&#xff0c;能自动执行以下测试&#xff1a;1) 常用词输入速度测试 2) 长句连贯性测试 3) 专业术语识别率 4) 内存/CPU占用监测。要求生成可视化对比报告&a…

作者头像 李华
网站建设 2025/12/23 9:57:55

Bosque语言:正则化编程范式的技术革命

Bosque语言&#xff1a;正则化编程范式的技术革命 【免费下载链接】BosqueLanguage The Bosque programming language is an experiment in regularized design for a machine assisted rapid and reliable software development lifecycle. 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2025/12/23 5:27:49

腾讯开源Hunyuan-7B-Instruct-AWQ-Int4:重塑大模型多场景部署范式

导语 【免费下载链接】Hunyuan-7B-Instruct-AWQ-Int4 腾讯开源Hunyuan-7B-Instruct-AWQ-Int4大语言模型&#xff0c;支持快慢思维推理&#xff0c;原生256K超长上下文&#xff0c;优化Agent任务性能。采用GQA和量化技术实现高效推理&#xff0c;兼顾边缘设备与高并发系统部署需…

作者头像 李华
网站建设 2025/12/24 9:30:51

GKD订阅管理终极指南:2025年高效配置与使用技巧

GKD订阅管理终极指南&#xff1a;2025年高效配置与使用技巧 【免费下载链接】GKD_THS_List GKD第三方订阅收录名单 项目地址: https://gitcode.com/gh_mirrors/gk/GKD_THS_List GKD第三方订阅收录名单&#xff08;GKD_THS_List&#xff09;是一个专门为GKD用户打造的优质…

作者头像 李华
网站建设 2025/12/24 8:06:09

Spring Boot依赖传输失败的5种实战解决方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 模拟一个Spring Boot项目&#xff0c;其中org.springframework.boot:spring-boot-starter-par依赖传输失败。展示5种不同的解决方案&#xff0c;包括检查仓库配置、清理本地缓存、手…

作者头像 李华