当前位置: 首页 > news >正文

孝义做网站的公司企业培训课程体系

孝义做网站的公司,企业培训课程体系,wordpress微商插件,做网站定制开发的公司哪家好目录 100372. 使两个整数相等的位更改次数 原题链接 思路分析 AC代码 100335. 字符串元音游戏 原题链接 思路分析 AC代码 100360. 将 1 移动到末尾的最大操作次数 原题链接 思路分析 AC代码 100329. 使数组等于目标数组所需的最少操作次数 原题链接 思路分析 A…

目录

100372. 使两个整数相等的位更改次数

原题链接

思路分析

AC代码

100335. 字符串元音游戏

原题链接

思路分析

AC代码

100360. 将 1 移动到末尾的最大操作次数

原题链接

思路分析

AC代码

100329. 使数组等于目标数组所需的最少操作次数

原题链接

思路分析

AC代码


100372. 使两个整数相等的位更改次数

原题链接

100372. 使两个整数相等的位更改次数

思路分析

考虑不能存在某位k是1而n不是1,所以k必须是n的子集

n & k != k 就返回-1

否则返回 n ^ k 1 的 个数

时间复杂度:O(1)

AC代码

class Solution:def minChanges(self, n: int, k: int) -> int:if (n & k) != k:return -1return (n ^ k).bit_count()

100335. 字符串元音游戏

原题链接

100335. 字符串元音游戏

思路分析

考虑如果有奇数个元音,那么Alice全拿完就赢了

如果有偶数个元音,记为cnt,那么Alice拿包含cnt - 1个元音的串,照样赢

于是得出:只要有元音就赢

时间复杂度:O(N)

AC代码

class Solution:def doesAliceWin(self, s: str) -> bool:st = set(['a', 'e', 'i', 'o', 'u'])return True if sum(1 for x in s if x in st) else False

100360. 将 1 移动到末尾的最大操作次数

原题链接

100360. 将 1 移动到末尾的最大操作次数

思路分析

赛时写的分组循环,不好看,赛后改了下

我们考虑优先移动左边的1,如果优先移动右边的1那么所有左边的1都只能移动1次

那么我们直接遍历,每遇到一组连续0,前面1的贡献都+1

时间复杂度:O(N)

AC代码

class Solution:def maxOperations(self, s: str) -> int:res = c1 = 0n = len(s)        for i, x in enumerate(s):if x == '1':c1 += 1elif i and s[i - 1] == '1':res += c1return res

100329. 使数组等于目标数组所需的最少操作次数

原题链接

100329. 使数组等于目标数组所需的最少操作次数

思路分析

典中典的题,学差分的时候都会做这个类型的题目吧……

其实就是差分的一个结论:对于一个数组我们要将数组中每个数字变相等(每次可操作子数组-1/+1),最少操作次数为其差分数组从第二个数开始 的正数和 与 负数绝对值和 中大的那一个

为什么呢?

我们考虑原数组变相等 等价于 差分数组除了第一个数外全变为0,而区间操作对应差分数组中左边一个数+1 / -1,右边一个数执行相反操作

那么我们最优方案就是差分数组先正负抵消,再加上剩下的数字绝对值和

由于最后剩下的一定是正数或者负数,所以我们等价为 正数绝对值和 与 负数绝对值和 中 大的那一个

换到本题,等价于 nums - target 的数组全变0

等价于 nums - target 的差分数组全变0

和前面结论不同的是,结论是数组变相等,没有指定具体值,这里指定了0,所以就是整个差分数组的正数和 与 负数和的绝对值 中取大的那一个

时间复杂度:O(N)

AC代码

class Solution:def minimumOperations(self, nums: List[int], target: List[int]) -> int:n = len(nums)diff = [nums[i] - target[i] for i in range(n)]tmp = [nums[i] - target[i] for i in range(n)]for i in range(1, n):diff[i] = tmp[i] - tmp[i - 1]s1 = s2 = 0for x in diff:if x > 0:s1 += xelse:s2 -= xreturn max(s1, s2)

http://www.r43.cn/news/149883.html

相关文章:

  • 深圳专业营销网站制作店铺推广方法
  • 做网站的公司应该税率多少啥都能看的浏览器
  • 好点得手机网站托管自己在家做电商
  • 网站建设组织管理怎么写武汉网站设计
  • 无锡捷搜网站建设世界羽联最新排名
  • 真人荷官网站建设广州seo服务公司
  • 微信公众号上做网站宁波seo推广公司排名
  • 利用php做网站教程seo企业优化方案
  • 网站备案信息真实核验单下载天津天狮网络营销课程
  • 安徽餐饮加盟网站建设东营网站建设
  • 网站建设的概念一呼百应推广平台
  • 网络网站建设app好123上网主页
  • 触屏版网站开发外贸网站平台都有哪些 免费的
  • 网站解封优秀营销软文100篇
  • 服务器备案期间网站免费下载百度软件
  • 网站克隆好后该怎么做成都网站seo设计
  • 营销型网站要多少钱海淀区seo引擎优化
  • 全网vip影视网站一键搭建seo技术网
  • 用dw做的网页如何上传到网站大连头条热点新闻
  • 濮阳网站制作谷歌seo推广公司
  • 怎么自己在微信上做网站2023疫情第三波爆发时间
  • 如何架设一个网站安徽seo顾问服务
  • yandex网站推广网页搜索引擎
  • 黄石网站建设维护网络产品运营与推广
  • 移动互联网应用开发网站优化主要优化哪些地方
  • 个人做网站靠什么挣钱电商数据查询平台
  • 织梦网站怎么做下载地址企业网站建设论文
  • 刚刚发生了什么大事360优化大师官方下载最新版
  • 赤坎网站建设公司百度ai人工智能
  • 个人网站域名后缀互联网推广运营是干什么的