package leetCode.other;
/**
* @author liyu
* date 2022/3/28 9:23
* description 考试的最大困扰度
* 一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 'T' 表示)或者 false (用 'F' 表示)。老师想增加学生对自己做出答案的不确定性,方法是 最大化 有 连续相同 结果的题数。(也就是连续出现 true 或者连续出现 false)。
* 给你一个字符串 answerKey ,其中 answerKey[i] 是第 i 个问题的正确结果。除此以外,还给你一个整数 k ,表示你能进行以下操作的最多次数:
* 每次操作中,将问题的正确答案改为 'T' 或者 'F' (也就是将 answerKey[i] 改为 'T' 或者 'F' )。
* 请你返回在不超过 k 次操作的情况下,最大 连续 'T' 或者 'F' 的数目。
* 示例 1:
* 输入:answerKey = "TTFF", k = 2
* 输出:4
* 解释:我们可以将两个 'F' 都变为 'T' ,得到 answerKey = "TTTT" 。
* 总共有四个连续的 'T' 。
* 示例 2:
* 输入:answerKey = "TFFT", k = 1
* 输出:3
* 解释:我们可以将最前面的 'T' 换成 'F' ,得到 answerKey = "FFFT" 。
* 或者,我们可以将第二个 'T' 换成 'F' ,得到 answerKey = "TFFF" 。
* 两种情况下,都有三个连续的 'F' 。
* 示例 3:
* 输入:answerKey = "TTFTTFTT", k = 1
* 输出:5
* 解释:我们可以将第一个 'F' 换成 'T' ,得到 answerKey = "TTTTTFTT" 。
* 或者我们可以将第二个 'F' 换成 'T' ,得到 answerKey = "TTFTTTTT" 。
* 两种情况下,都有五个连续的 'T' 。
* 提示:
* n == answerKey.length
* 1 <= n <= 5 * 104
* answerKey[i] 要么是 'T' ,要么是 'F'
* 1 <= k <= n
*
* 来源:力扣(LeetCode)
* 链接:https://leetcode-cn.com/problems/maximize-the-confusion-of-an-exam
* 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
*/
public class maximize_the_confusion_of_an_exam {
public static void main(String[] args) {
int tfft = maxConsecutiveAnswers("FFFTFTTTFFFFFFTTFTTTFTTFFFTFFTTTFTTFTTFTTTFFFTTTFFTTTFFFFFFFTTTTFTFFFTTFFTTFFTTTFFTFTFTFTFFTTFFTFTFTTTFFFTFFFFFTFTFTTFFFTTFTFTTTFTFFFFFFFTFFTFFTTFTFFFTTTFTTTFFFFFFFFFTTFFFFFTFTTFFTFTTFFFTFTFTTFFTTFFFTFTFTTFTTFTTFFTTTTTFFTFTFTFFFTFTTTTFTTFTFFTTTTTFTFTFTTFTFFFTFTFTTTTFTFTTFTTTFTTFTTFFTFFTTFTTTTTTFTTFTFFFFTFTFTTFTFFTFFFTFFTTFTTFTTFFTTTTTTTTTFFFTFFTFFFTFTTFFFFFFFFTFFFTFFTFTTFFTTFTTTFTTTTFTTTFFTFTFFFTTFTFTTFFTTFTTTFTTFFTFFTTTFTFFFTTTTFFFTTTFFFTFTFTTTTFFTTTFFFFFFFFTTTFTTFTTFFTTFTFTFFTTTTTFFFTFFTTTTTTTFTTFFTTTTTTFFTTTFFTFTTFFFTFFTFFTFTFFFTTTFTFTTTFFFFTFFFFTFTFFTFTTTTTTTTTFTFFFFTFTTTFFTTTTTFTTFTTFFFTTFTTTTFTFTFFFTTFFFFTFFTFTTTFFFTFFTTTFFTTFFTFTTTFTFTFTTFFTTFTFFFTFFFFFFFTFTTTTFFTTTFTFFTTTTFFFTTTTTTTTTTFTFTTFTTTTTTTTTFTTTTTFFTFTTTTFTTTFTFTTTFFFFFFTTFTFTFTTTTFFTFTTFFTTFFFFFFTFFTTTFFFFTFTFTTFTFFTTTTFFFTFFTTTTFFTTTTFTFTFTFFTFTTFFTTTTFTFTTFFFFTFFTFFTTTTFTFTFFTTTFTTFTTFTTTTFFFFTTFTTTTFTFFTTTFTTFTTFTFFFTTTTFTTTFTTTFFTTTFTTTFFTFFFTFFTFFTFTTFFTTFTFTTTTTFFFTTTFFTFTFFTTTTFFFTTFFTFFFFTTFFTFTFTFFFFTTTTTTTFFTTTFTTFTTFFTFTFFTTFFTFFTTFFTTFFTFTTTFTTTFFFTFFTFTFTFTTTFFTFFTFFTTTFFTTTFTFFFFTTFFTFFFTFFTFTFTFTTFFTTTFFFFTTTFFFTTFTTFFTTTTTFFTFTFFFFFFFTTTTTFTFTTTFFTFTFFFFTTTFTTFFFTFTFFTTTTFFFTTTFTFTFTFTTFFTTTFFFFTFTFFFTTTFTTTTFTFFTTTTTFFFFFTTFTTTFTTFTFTFFFTTTTTFTTTTTTTTTTTFFTFFTFFFFTFTTTTTFTTTFTTFTTTTFTTFFTFTFFTFFFTTFTTTFTTTTFFFTTFTTTFTFTTFTTTTTTTFFTFTFTFFFTFFTFFFTTTTTTFFFTTFTFTTTFTFFFTFTTFFFTFFTFTTFFTFFTTFFTFFTFTTTFTTTTFTFTTFFTFFFFTTFTTFTFTFFTFFFFTTFFFTTFTFTFFTFFTFTTFTTFTFFTTFTFFFFTTTFTTTTTTFFFTFTTTTFFFFFTFFFFTTFTFFFFTFFTFFTFFTTFFTTFFTTFFFFFTFTFFTFFFFTFFTTTFFTTFFTFTFTFFFFTTTFFFTFFFFFFFFTFFTFFFFFFTFFTTFTFTFTTFFFTTTTFTTFTFTFFFFTTFFFTFTTTFTTFTTTFTFTFFFFTTTTFTFTFTFTTTTFFFTTFFFFTTFTFTFFFFFTTFTTFTTTTFTTFFTTFFTFTFTFTFFFFTFFFTTTTTFTTTTFFFTTFFTTTFFFFTTFFFTFFTFTTFFFTFTTTFTFTFFFTTFTTTFTTFTFTTTTTTFTTTTTFTFFTTFFTTFFFFTFTTTFTFTTTFTTTFFFTTFTTFFTTTTTFTTTTFTTFFTFFFFTFFTFTFTFTFTTFTFFTTFTFTTFTTTFTFTFTTFFFFTTTTFFFTFTFTTFTFTTTFTFTTTTFTTTFTTTTFFFTTTTTTTTTTTTFFFTTTTFFFTFTTTTTFTTTTTTTFTTFTFTTTFFFFFTFFTFFFTTTTTTTFTTTFFTTTTFTFFTTTTFTFFTFFFTTTTFTFFFFTTFFTFTTFFTTTTTTFFTTFFFTFTTFFTTFFTTFTFFTTTTFFFTTTFFTFTFFTFTTFTFTTFTTTFFFFFTTTFFTFFFTTTTFTTTFFTFFTFFFTFTFTFTFFTFTTFTFFFTFTTTFFTTFFTFTFTFFFFTFFTTTTTTTTTTTTFTTFTTTFTTFTFTTTTFFTTTFTFFFTTFTTFFFTTTTFFTTTFTFTFFFTTTFFTFTFTTFTFTTFTFTTFFTFFTFTFTTFTTTTFTFTTFTTTTTTTFFFTTFTTTTFTFFTFTFTTFFTTFFTTFTFFFTTTTFFFFTFFTFFTFFTTTFFFTTTTTFTTTFTFFFFFFTTTFTTFTTTTFTTFTFTFFFTTFTTFFFFFFTFTTTFFFTFTTFTTTTTTFTTTTTFTTTFTTTTTFTTFTTTTFFTTTFTFFTFFTFFFTTFTTFTTTFFTFFFTTFFFTFFTFTFTFFFFTTFTTTTTTTTFTTFTTFFFFTTTFTFFFTTTFFTFFTTFTFTFTTTFTTTTTTFFFTFFFTFTTTTFTFFFTFFFFFTFTFFTFFFFFTFFTTFTFTTFTFFFFFFTTFTFFFTTTFTTFTFFTFFTFTTFTTTFFFTFTTTFFFFTFFFFTTTFTFFTFTFFFTTTFFTTFFFTTFFTFFTTTFTTTTFTFFFFTFTFFTFTFFFTFTFTFTFTTTFFTTTFTTTTTFTTTTTFFTTTTTTTTTTTFFFTTFFFFTFFFTFTTFTFFTTFTFFTTFFTFFTFTTTTTFTTTTFFTTTFTFFTTTFTFTFFFFTFFTTFTTTFFTTFFTFTTFTFFTFFFTFTTFTFFTTTFFTTTFFTFFTFFTFTFFFFFTFTFTTFTTFFFFTFTFTFTTFTTTFTTFFFFTTTFFTTTTTTFTTTTTTTTTTTFFTFFTFFTFFFFTTFTFTTTTFTTTTTTFFFFFFTFTTTTFTTFFFTTFTTFFTFFFFTFTFFFFTTTTFFTFFTTFTTFFTTFTFFTFFFFTTFTFFTTFFFTTFFTTTFTFTFTFTTFFFTTFTTTTTTFFTTTFTFFFTFTTFFFTFTTTTTTFTFFFFFTTTFTTTFTFTTFFFFFFFFTTTFFFFTFTFFFFFFFFFTTFTTFFFFFTFFFFFTFTFTTTTTTTFTFTFFFTTTFFFTTFFTTFTTFTTTTFTFFFFTFTFFFFFFFTFTTFFFTFTTTTTFFTTTTTFFTFTFFTFTFTFFTTFFFFTTTFTTFTFTFFFTFTTFTTTTTFFFFTTTFFFTFFTTFFTFFTTTFTTTTTTFFFTTTTFFFFTTTFTFTTFFTFFFFFTFTTFFFFFTFFFFTFFTTFFFFTFTTFTTFTFFTFTFFTTFFTFFTTFTFTFFTFTFFFTTFFTFFFTFFTFFTTTTTFTFTTTTFTTTTFFTFFFTFTFFFFFFFFFTTTFFFTTTTTFFTTTFFFTTFTFTTTTFFTFTFTTTTFFTFFTTFTFTTTFTTFFFTFFTTFTFTFFFTFFTFTTTTFFTFTTFFTFFTTFFTTTFFFTTTTTTTFTFTTTFTFFTTFFTTFTTFFTFTFFTFTTFFFTTFTFTFFFTFTFTFFFTTTTFTTFTFFFFTFFTTTTTFTTFFTTTTFTFFTFFTTFFTFTTTTTFFFTTTTFTFFTFTTTTTFFFTFFTFTFFTFTTFFTTFFTFFFFFTFTFFFFTTTTTTFTTFFTTTTTTTFFTFTTTTTFTFTFTFFTFFTTFFFFFFFTFFFFTFTFFFTTFTFTTFTFFFTTFTFTTFFTTFTTFFTTTTTFTTFTFFTFFTTTFTTFFTTFFTFTTTFFTTFFFFFTTTFFTTTTFTTFTTFTFTTTFTTTTFTFFFFTFTTFTFFFFTFFFTTTFFFFTFTFFTFFTTFTFFTTFTTFTTFTFTFTFTTFTTFTTTFFTFFFTFFTFFFTFTTTTFFFFFTFFFFFFFTFTTFTTTFFFFFFFTTFTTFTTTFTFTFTFTFFFFFTFFFFTFTTTTTFFFTFTFTFTTFTFFTFTFTTTTTTFFTFFTFTTFTFTTTTFTFTFFTFTFTFTTFFTTTTTFFTFFTTTTFTTFFFFFTTTTFTFFFTFTTFFTFFTFFTFTFFTFTFTTTTFFTFFFFFFFFTTFFTFFTFTFTFTTFTTFFFFFFFFTFFTTTFFFTFFFFTFTFFFTTTTTFFTTFFTFTFTFFFTFTFTTTFFTFFFTFFTTTFFTTTTFFFFFFFFFTFFFFTFTFFTTFFFTFFTFTFFTFFTFFTTFTTFFTFTFFTFFTFTFTFFTTFTFFFFFTFFFTFFTTTTTTTTTFTFTTTTTTFFFFFTTTTTTFTFTTFFTTTFFTTFTFFTTFFTFTFTTFTFTFFFTTFFTTFTFTTFTFTFTFFFFTFFFTFTFFFTFTFFTFFTFTTFFTTFFTTFTFFFTFTTFFFTTTTTFTFFTTFFFFTFTTTFFTTTTFTFFFFFTFFFFTTFTTTTTFTTFTFTFFTTTFFFFTTFFFTTFFTFFFFFTFFTFTTTTFTFFFFFFFTTTTFTFFFFFTFTTFTFTTTFFTTTFFTFFFFTFTFFFFTTTTFFTTFTTFFTTTFTTTTTFTFTTTTTFTTFTFTTTTTFTTFTTFFTFFFFFFFTTFFTFTTTFFFTTFFTTFFTTTFFTTFFTFFFFFFFFFTTTFFTFTFFTTTFFTFFFTTTFFTFFTFFTFFFTTTFFTFTTFFTTTTTTTTTFFTTFFTFTTTTTFTTTFTTFFTFFFTFFTFFTFFTTFTFTFFFFFTTTFFTTTTFFFTTFTTTTFFTFTTFTTFFTFTFTFTTFTFFTTTFTTTTTTTFTFTTFTFFFFFTFTTFTFTFFTTTTFTFTFTTTTFFFFFTFFTTFTTFTFFTFFTTTTFFFFFTTTTFTTTFFTTTTTFTFTTFFTFFTTTFTTTTTFTFFTTFFFTFTFTTTFFFFFTTTFFFFFTTTFFFFTTFTFTTTFTFFTTTFFTTFFFTFFFTFTTFFTFFTFTFFFFFTTFFTFFFTTTFFTFTFTFTTTFFFTTTTFTFFTTFFFFFTFTTTTTFTTFTTTFFTTFTTTTTFFTFTTFFTFFFFTFTFFFTFFTTFTTFTFTTFTFFFTFTFFFTFFFFTTFFTFFFTTTTFFFTFTFFTTTTFTFTTTFTTTTTFTTFFFFTFTTTTTFTTFFFFFTTTFFTTTTFFFTFTTFFFFTFTFTFTFFTTTTFFTFTTFTTTTTTTFTFFTFFFFFFTTTFFTFTFFFFTTFTFFFTFFTFTTTFFTFFTFTTFFTFTTTTTTFFTFFFTFFTTFTTFTTFFTTFFFTFTFFFFFTFTTTTTTTFFTTFFTFFFTTTTFFTFTFFFFTTTTFTFFTTFFFTFFFTFTFTTFTTTFTTFFTFFFTFFTFFTTFTTTTTTTTFTFTTFFFFTFFTTFFTTFTTTFFFTFFTTFTFTFTTTTFTFTTTTFFTTTFFTTFFFTFTTTTFFFTTFTFTTFTFTTFFFTFFTFTFTTTFTTFFTFTTTFTFFTTFFTTFFFTTFFFFTTTTFFFTTTTFTFTTTFFFFTFFTFFTTTTFTTTFTTFTTTFTFFFFFTTFFFFFTTTTFTFTFTFFTFFTTTFTFTTFFTTTTFFTTFFTTTTTFFFFFFFFFFFTTTTFTFFFTFFFTTTFFFTFTFFFTFFFTTTTTTTFTFFFFFTTTTTFFTFFFFFFFFFTTFFFFTTFFFTFFFFFFFTTFFTTFFFTTTTTTTFTTTTFFFTTFTFFFFFTFTFTFTFFFTFTTFFFTTFTFTTFFTFTTFFFTFTTFFTTTTTTTFFTFFFTTTTTTFFTFTTFFTTFTFTTTTFTFTTTTFFTTTTTTTTTTFTTFFTTTFFTTTTTFFTTTTFTTTTFFFTFTFFFFFTTFFTFFTFFTFFFTTTTFTTTFFTTTTTTFTTTFTTFTTFTTTTTTTFFTFFFFTFFFTTFTFTFTFFTTFTFFTT
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
算法与数据结构涵盖了以下主要内容: 数据结构(Data Structures): 逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何具体存储。例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和空间复杂度。 算法: 算法设计:研究如何将解决问题的步骤形式化为一系列指令,使得计算机可以执行以求解问题。 算法特性:包括输入、输出、有穷性、确定性和可行性。即一个有效的算法必须能在有限步骤内结束,并且对于给定的输入产生唯一的确定输出。 算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法,分支限界法等。 算法分析:通过数学方法分析算法的时间复杂度(运行时间随数据规模增长的速度)和空间复杂度(所需内存大小)来评估其效率。 学习算法与数据结构不仅有助于理解程序的内部工作原理,更能帮助开发人员编写出高效、稳定和易于维护的软件系统。
资源推荐
资源详情
资源评论
收起资源包目录
java算法数据结构.zip (746个子文件)
.gitignore 98B
maximize_the_confusion_of_an_exam.java 32KB
Demo.java 22KB
RBTree.java 17KB
Sort.java 16KB
RedBlackTree.java 12KB
an_zhuang_zha_lan.java 11KB
PathDemo.java 10KB
AbstractBinarySearchTree.java 9KB
CourseScheduleII.java 7KB
TimeDemo.java 7KB
range_module.java 7KB
escape_a_large_maze.java 7KB
Demo.java 7KB
UF.java 7KB
AVLTree.java 7KB
Code_11_IsPalindromeList.java 7KB
cut_off_trees_for_golf_event.java 6KB
NumberOfIslands.java 6KB
SinglePattern.java 6KB
BestTimeToBuyAndSellStockIV.java 6KB
LinkedListDemo.java 6KB
HuffmanTree.java 6KB
NonOverlappingIntervals.java 6KB
Twitter.java 6KB
ZumaGame.java 6KB
Code_04_SerializeAndReconstructTree.java 5KB
minimum_genetic_mutation.java 5KB
SynchronizedDemo.java 5KB
Code_14_FindFirstIntersectNode.java 5KB
KthSmallestElementInASortedMatrix.java 5KB
ReSpaceLcci.java 5KB
quan_o1_de_shu_ju_jie_gou_by_leetcode_so_7gdv.java 5KB
Code_12_SmallerEqualBigger.java 5KB
BinaryTree.java 5KB
ThreadPoolExecutorDemo.java 5KB
my_calendar_ii.java 5KB
Code_01_TopKSumCrossTwoArrays.java 5KB
MaximalRectangle.java 5KB
Code_04_DogCatQueue.java 5KB
wang_luo_kong_xian_de_shi_ke_by_leetcode_qttv.java 5KB
Code_07_ThrowChessPiecesProblem.java 5KB
GenerateParentheses.java 4KB
range_sum_query_mutable.java 4KB
IsGraphBipartite.java 4KB
Code_01_CoinsWay.java 4KB
MergeKSortedLlists.java 4KB
Matrix01.java 4KB
design_skiplist.java 4KB
BestTimeToBuyAndSellStockWithTransactionFee.java 4KB
coloring_a_border.java 4KB
Code_06_Dijkstra.java 4KB
NIOServer.java 4KB
Code_06_BFPRT.java 4KB
Tree.java 4KB
StackDemo.java 4KB
PathSum.java 4KB
concatenated_words.java 4KB
LongestCommonSubsequence.java 4KB
Code_13_CopyListWithRandom.java 4KB
TreeSetTest.java 4KB
Code_04_BiggestSubBSTInTree.java 4KB
longest_word_in_dictionary.java 4KB
Code_03_LFU.java 4KB
maximum_sum_of_3_non_overlapping_subarrays.java 4KB
Candy.java 4KB
BestTimeToBuyAndSellStockWithCooldown.java 4KB
BinaryTreeRightSideView.java 4KB
SkipList.java 4KB
replace_words.java 4KB
Code_01_PreInPosTraversal.java 4KB
ThreeSum.java 4KB
ACAutoMata.java 4KB
can_i_win.java 4KB
Code_01_MorrisTraversal.java 4KB
group_the_people_given_the_group_size_they_belong_to.java 4KB
LargestMergeOfTwoStrings.java 4KB
BuddyStrings.java 4KB
minimum_height_trees.java 4KB
pacific_atlantic_water_flow.java 4KB
Code_03_SuccessorNode.java 3KB
Search.java 3KB
Code_02_SkipList.java 3KB
cat_and_mouse.java 3KB
Code_06_ChineseExpression.java 3KB
ShortestPath.java 3KB
find_good_days_to_rob_the_bank.java 3KB
IntersectionOfTwoArraysII.java 3KB
RedundantConnectionII.java 3KB
hand_of_straights.java 3KB
PatternMatchingLcci.java 3KB
JiQiRenDeYunDongFanWeiLcof.java 3KB
maximum_number_of_eaten_apples.java 3KB
find_right_interval.java 3KB
add_one_row_to_tree.java 3KB
delete_node_in_a_bst.java 3KB
utf_8_validation.java 3KB
loud_and_rich.java 3KB
asteroid_collision.java 3KB
PerfectRectangle.java 3KB
共 746 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
极致人生-010
- 粉丝: 2903
- 资源: 2822
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功