199周周赛题解

题目一:重新排列字符串

给你一个字符串s和一个长度相同的整数数组indices。

请你重新排列字符串s,其中第i个字符需要移动到indices[i]指示的位置。

返回重新排列后的字符串。

长度范围为[1,100]闭区间。s仅包含小写字母。

示例

输入: s = “codeleet”, indices = [4,5,6,7,0,2,1,3]

输出:“leetcode”

解释:索引对应即可。

解题思路

直接模拟即可

代码实现

class Solution {public String restoreString(String s,int[] indices) { char[] ch = s.toCharArray();int len = ch.length;for (int i = 0; i < len; i++) {ch[inidices[i]] = s.charAt(i);    }return String.valueOf(ch);}
}

题目二:灯泡开关Ⅴ

房间中有n个灯泡,编号从0到n-1,自左向右排成一行。最开始的时候,所有灯泡都是关闭的。

请你设法使灯泡的开关状态和target描述的一致。

target = [0,1,0]表示灭,亮,灭。

有一个操作可以用于翻转灯泡的状态,翻转操作如下:

  • ​ 选择当前配置下的任意一个灯泡(下标为i)。
  • ​ 翻转下标从i到n-1的每一个灯泡

翻转会让灭的变亮,亮的熄灭。

返回达成target描述的状态需要的最少翻转次数。

示例

输入: target = “10111”

输出:3

解释:初始配置“00000” -> “00111”-> “11000”-> “10111”,共需要3步

解题思路

仔细看题目发现实际上就是求翻转的次数,10111等价于三个部分,101,后续的三个1可以等价为1个1,这样一来我们从最后面开始找这样的一个部分,比如10111,先找到111,变为000,则整个字符串变为10000,此时再把后面的0000变为一块,变为1111,那么整个字符串变为11111,直接再反转一次即可得到起始的00000。如此即可实现。

代码实现

class Solution {public int minFlips(String target) {char[] ch = target.toCharArray();int len = ch.length;int res = ch[0] + '0';for (int i = 0; i < len - 1; i++) {if (ch[i + 1] != ch[i] ) {res++;}}return res;}
}

20200728:力扣199周周赛题解(上)相关推荐

  1. 20200729:力扣199周周赛题解(下)

    力扣199周周赛题解(下) 题目三:好叶子节点对的数量 给你二叉树的根节点 root 和一个整数 distance . 如果二叉树中两个叶节点之间的 最短路径长度 小于或者等于 distance ,那 ...

  2. 20200910:力扣204周周赛题解上(Java/Python/Cpp)

    力扣204周周赛题解上 题目 思路与算法 代码实现 写在最后 题目 1.1566. 重复至少 K 次且长度为 M 的模式 2.1567. 乘积为正数的最长子数组长度 思路与算法 热身题不要求算法技巧, ...

  3. 20201007:力扣209周周赛题解记录(上)

    力扣209周周赛题解记录(上) 题目 思路与算法 代码实现 复杂度分析 题目 特殊数组的特征值 奇偶树 思路与算法 第一题单纯的暴力就行,应该是可以用二分之类的改善复杂度,没必要赘述,直接上暴力遍历, ...

  4. 20200814:力扣201周周赛题解记录上

    力扣201周周赛题解记录上 题目 思路与算法 代码实现 写在最后 题目 整理字符串 找出第 N 个二进制字符串中的第 K 位 思路与算法 第一题这种类似消消乐的东西都是直接用栈来实现的,注意代码细节 ...

  5. 20200907:力扣203周周赛题解记录

    力扣203周周赛题解 题目一: 1.圆形赛道上经过次数最多的扇区 示例 解题思路与代码实现 本题的思路为优化整个起点与终点,理清关系,起点到终点的过程中,分为起点小于终点,起点大于终点,起点等于终点, ...

  6. 20200819:力扣202周周赛题解记录

    力扣202周周赛题解记录 题目一:[存在连续三个奇数的数组](https://leetcode-cn.com/problems/three-consecutive-odds/) 代码实现 题目二:[使 ...

  7. 20201219:力扣219周周赛题解

    力扣219周周赛题解 题目 思路与算法 代码实现 复杂度分析 题目 比赛中的配对次数 十-二进制数的最少数目 石子游戏 VII 堆叠长方体的最大高度 思路与算法 比赛中的配对次数 两两比赛,淘汰剩一支 ...

  8. 20201008:力扣209周周赛题解(下)

    力扣209周周赛题解(下) 题目 思路与算法 代码实现 写在最后 题目 可见点的最大数目 使整数变为 0 的最少操作次数 思路与算法 第一题注意添加角度时atan2的范围是正负π,因此注意差值可能超出 ...

  9. (补)20200911:力扣204周周赛题解下

    力扣204周周赛题解下 题目 思路与算法 代码实现 写在最后 题目 3.1568. 使陆地分离的最少天数 思路与算法 本周周赛第三题勉强可以看看,第四题超出我目前的水平,跳过.第三题是一个典型的dfs ...

最新文章

  1. sqlserver导入excel的电话号码(身份证)变为科学计数解决方式
  2. 如何在Windows 7或Vista上安装IIS
  3. MySQL—常用SQL语句整理总结
  4. 手动编译安装mysql-5.5.28a
  5. 算数编码与哈夫曼编码的比较【转载】
  6. autoline 手册
  7. 贝叶斯优化优化参数,以Kmeans为例
  8. css带占位符的搜索框,superplaceholder.js-功能强大的超级输入框占位符插件
  9. 创建一个Hello World的Confluence宏
  10. 最简单的零成本创业模式
  11. 把一些表单属性封装一个JSON
  12. NUC1371 Who's in the Middle【中位数+排序】
  13. C#并行和多线程编程
  14. 译Selenium Python Bindings 6 - WebDriver API
  15. canvas基础学习笔记
  16. Hadoop与Spark等大数据框架介绍
  17. 讲解NPN与PNP三极管做开关管使用方法与计算
  18. 2020 年 4 月使用 Aria2 加速下载百度网盘文件
  19. 统计独立访客需求mysql_网站流量分析项目day04
  20. 主题美化 —— IAR篇

热门文章

  1. 被程序员怼完被自己人怼,产品经理就这样被逼哭了!
  2. Google Android 向华为“闭源”!华为手机迎来至暗时刻!
  3. 小米回应“海量备货致亏损”;美团饿了么“偷听”?苹果发布新 iPad | 极客头条...
  4. 年会宣布 996 后,那些保持沉默的人
  5. 一文弄懂二叉树三种遍历
  6. 程序员必备技能之 Git 的体系结构与历史
  7. Java 11 将至,除了 Oracle JDK 还有这些版本!
  8. java语言的主要特点有简单性,太厉害了!
  9. Java 中的抽象类和接口
  10. 计算机动漫与游戏制作画画教学,科普下动漫制作必须会画画吗