随笔分类 -  Algorithm

摘要:题目链接:kth-largest-element-in-an-array 方法1: 使用快速排序。 1、对数组进行partition,从left到right随机选择一个主元pivot,将pivot与left的元素交换位置。 另索引 j 初始为left,扫描从left + 1到right的元素,若小于 阅读全文
posted @ 2020-04-11 19:21 bloglxc 阅读(189) 评论(0) 推荐(0)
摘要:1753题目链接 题目大意: 一个4乘4的棋盘,上面放满了正反两面分别为黑和白的棋子,翻转一个棋子会让这个棋子上下左右的棋子也翻转,给定一个初始状态,求使所有棋子颜色相同所需的最少翻转次数。 解题思路: 先检查翻转0个棋子时是否所有棋子颜色一致,若不一致则翻转1个棋子,依次类推,若翻转某n个棋子后成 阅读全文
posted @ 2019-03-07 14:01 bloglxc 阅读(139) 评论(0) 推荐(0)
摘要:A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The robot can only move either down or right at any p 阅读全文
posted @ 2019-03-06 13:47 bloglxc 阅读(152) 评论(0) 推荐(0)
摘要:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping yo 阅读全文
posted @ 2019-03-06 13:38 bloglxc 阅读(109) 评论(0) 推荐(0)
摘要:1、binary search tree Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. According to the definitio 阅读全文
posted @ 2019-01-28 17:16 bloglxc 阅读(119) 评论(0) 推荐(0)
摘要:This time, you are supposed to help us collect the data for family-owned property. Given each person's family members, and the estate(房产)info under hi 阅读全文
posted @ 2018-08-23 17:24 bloglxc 阅读(173) 评论(0) 推荐(0)
摘要:Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to ou 阅读全文
posted @ 2018-08-19 15:04 bloglxc 阅读(112) 评论(0) 推荐(0)
摘要:It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that c 阅读全文
posted @ 2018-08-14 18:12 bloglxc 阅读(95) 评论(0) 推荐(0)
摘要:注意while循环判断条件是 i <= j。如果是 i < j 的话,当i,j指向一个元素时会不满足条件跳出循环。 阅读全文
posted @ 2018-08-14 09:38 bloglxc 阅读(71) 评论(0) 推荐(0)
摘要:本打算周末完成这次作业,但没想到遇到了hard deadline,刚开始看不懂题意,后来发现算法4书上有个类似的问题,才理解了题意。最后晚上加班,上课加班,还好在11:35也就是课程结束前25分钟完成了这次作业。。。 本次作业学到的知识点: 1、java中两个类对象比较相等用equals,因此Str 阅读全文
posted @ 2018-04-02 20:48 bloglxc 阅读(316) 评论(0) 推荐(0)
摘要:这次的作业主要用到了单词查找树和深度优先搜索。 1.在深度优先搜索中,在当前层的递归调用前,将marked数组标记为true。当递归调用返回到当前层时,应将marked数组标记为false。这样既可以使访问完当前节点之后不会访问到达当前节点路径上的节点,又可以从其它路径上访问到该节点。 2.当词典中 阅读全文
posted @ 2018-03-14 23:49 bloglxc 阅读(200) 评论(0) 推荐(0)
摘要:这周的作业不需要自己写算法,只需要调用库函数就行,但是有些难以理解,因此用了不少时间。 1 import edu.princeton.cs.algs4.FlowEdge; 2 import edu.princeton.cs.algs4.FlowNetwork; 3 import edu.prince 阅读全文
posted @ 2018-01-27 15:07 bloglxc 阅读(459) 评论(2) 推荐(0)
摘要:这周作业设计到的算法是有向无环图的最短路径算法,只需要按照顶点的拓扑顺序去放松顶点即可。而在这个题目中拓扑顺序就是按照行的顺序或列的顺序。 用到的数据结构为一个二维数组picture同来存储每个像素的颜色,一个二维数组energy用来存储每个像素的能量。开始我是用一个Picture类的对象来存储图像 阅读全文
posted @ 2018-01-20 14:44 bloglxc 阅读(1254) 评论(3) 推荐(0)
摘要:这周的作业可谓是一波三折,但是收获了不少,熟悉了广度优先搜索还有符号图的建立。此外还知道了Integer.MAX_VALUE。 SAP: 求v和w的大概思路是对v和w分别广度优先搜索,然后遍历图中每一个顶点,如果v和w都可以到达一个顶点,就计算v和w到这一顶点的距离和,最后求出最短的距离以及对应的顶 阅读全文
posted @ 2017-12-17 13:04 bloglxc 阅读(811) 评论(1) 推荐(0)