以下字节笔试编程题代码及思路由@nuoyanli提供,有兴趣的可以去这位ACM专业打铁选手那里找到更多刷题技巧。
- 第一道:第一题自然数a、b(100%)
- 题目描述
- 思路
- 参考代码:
- 第二道:小明玩游戏(100%)
- 题目描述
- 思路
- 参考代码:
- 第三道: 五子棋(100%)
- 题目描述
- 思路
- 参考代码
- 第四道:扑克牌(100%)
- 题目描述
- 思路
- 参考代码
给定两个自然数a和b,要求对这两个数字做N次操作后,是两个数字的值最终相等。在第i次操作中,选择a或者b对其加i。请计算使a和b相等的最小操作次数。
例如,给定数字a=27和b=20,最少可以进行5步操作后使其相等:
第1步,令b=b+1,此时a为27,b为21 第2步,令b=b+2此时a为27b为23 第3步,令b=b+3,此时a为27,b为26 第4步,令a=a+4,此时a为31,b为26 第5步,令b=b+5,此时a为31b为31
输入描述: 输入包括t+1行 第一行是一个正数t(1 a >> b; LL k = abs(a - b); LL l = -1, r = 1e5; while(l + 1 > 1; if(mid*(mid+1)/2 b; int cha = abs(b - a); int now = sqrt(cha * 2); while (true) { if (now * (now + 1) / 2 >= cha && (now * (now + 1) / 2 - cha) % 2 == 0) break; now++; } cout > c; pre[i].a = pre[i - 1].a + a; pre[i].b = pre[i - 1].b + b; pre[i].c = pre[i - 1].c + c; } for (int i = 1; i > a >> b >> c; int l = 1, r = n, ans = -1; while (l = a && pre[mid].b >= b && pre[mid].c >= c) { ans = mid; r = mid - 1; } else l = mid + 1; } cout
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【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脚手架写一个简单的页面?