20200728:力扣199周周赛题解(上)
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周周赛题解(上)相关推荐
- 20200729:力扣199周周赛题解(下)
力扣199周周赛题解(下) 题目三:好叶子节点对的数量 给你二叉树的根节点 root 和一个整数 distance . 如果二叉树中两个叶节点之间的 最短路径长度 小于或者等于 distance ,那 ...
- 20200910:力扣204周周赛题解上(Java/Python/Cpp)
力扣204周周赛题解上 题目 思路与算法 代码实现 写在最后 题目 1.1566. 重复至少 K 次且长度为 M 的模式 2.1567. 乘积为正数的最长子数组长度 思路与算法 热身题不要求算法技巧, ...
- 20201007:力扣209周周赛题解记录(上)
力扣209周周赛题解记录(上) 题目 思路与算法 代码实现 复杂度分析 题目 特殊数组的特征值 奇偶树 思路与算法 第一题单纯的暴力就行,应该是可以用二分之类的改善复杂度,没必要赘述,直接上暴力遍历, ...
- 20200814:力扣201周周赛题解记录上
力扣201周周赛题解记录上 题目 思路与算法 代码实现 写在最后 题目 整理字符串 找出第 N 个二进制字符串中的第 K 位 思路与算法 第一题这种类似消消乐的东西都是直接用栈来实现的,注意代码细节 ...
- 20200907:力扣203周周赛题解记录
力扣203周周赛题解 题目一: 1.圆形赛道上经过次数最多的扇区 示例 解题思路与代码实现 本题的思路为优化整个起点与终点,理清关系,起点到终点的过程中,分为起点小于终点,起点大于终点,起点等于终点, ...
- 20200819:力扣202周周赛题解记录
力扣202周周赛题解记录 题目一:[存在连续三个奇数的数组](https://leetcode-cn.com/problems/three-consecutive-odds/) 代码实现 题目二:[使 ...
- 20201219:力扣219周周赛题解
力扣219周周赛题解 题目 思路与算法 代码实现 复杂度分析 题目 比赛中的配对次数 十-二进制数的最少数目 石子游戏 VII 堆叠长方体的最大高度 思路与算法 比赛中的配对次数 两两比赛,淘汰剩一支 ...
- 20201008:力扣209周周赛题解(下)
力扣209周周赛题解(下) 题目 思路与算法 代码实现 写在最后 题目 可见点的最大数目 使整数变为 0 的最少操作次数 思路与算法 第一题注意添加角度时atan2的范围是正负π,因此注意差值可能超出 ...
- (补)20200911:力扣204周周赛题解下
力扣204周周赛题解下 题目 思路与算法 代码实现 写在最后 题目 3.1568. 使陆地分离的最少天数 思路与算法 本周周赛第三题勉强可以看看,第四题超出我目前的水平,跳过.第三题是一个典型的dfs ...
最新文章
- sqlserver导入excel的电话号码(身份证)变为科学计数解决方式
- 如何在Windows 7或Vista上安装IIS
- MySQL—常用SQL语句整理总结
- 手动编译安装mysql-5.5.28a
- 算数编码与哈夫曼编码的比较【转载】
- autoline 手册
- 贝叶斯优化优化参数,以Kmeans为例
- css带占位符的搜索框,superplaceholder.js-功能强大的超级输入框占位符插件
- 创建一个Hello World的Confluence宏
- 最简单的零成本创业模式
- 把一些表单属性封装一个JSON
- NUC1371 Who's in the Middle【中位数+排序】
- C#并行和多线程编程
- 译Selenium Python Bindings 6 - WebDriver API
- canvas基础学习笔记
- Hadoop与Spark等大数据框架介绍
- 讲解NPN与PNP三极管做开关管使用方法与计算
- 2020 年 4 月使用 Aria2 加速下载百度网盘文件
- 统计独立访客需求mysql_网站流量分析项目day04
- 主题美化 —— IAR篇
热门文章
- 被程序员怼完被自己人怼,产品经理就这样被逼哭了!
- Google Android 向华为“闭源”!华为手机迎来至暗时刻!
- 小米回应“海量备货致亏损”;美团饿了么“偷听”?苹果发布新 iPad | 极客头条...
- 年会宣布 996 后,那些保持沉默的人
- 一文弄懂二叉树三种遍历
- 程序员必备技能之 Git 的体系结构与历史
- Java 11 将至,除了 Oracle JDK 还有这些版本!
- java语言的主要特点有简单性,太厉害了!
- Java 中的抽象类和接口
- 计算机动漫与游戏制作画画教学,科普下动漫制作必须会画画吗