自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Programming Assignment 3: Pattern Recognition

Point部分的代码没有什么难度,跟着题目的提示把垂直水平的情况写出来就好了,slopeTo函数写成大的点减去小的点(具体看代码),后面会比较好处理有关slope的问题。BruteCollinearPoints会有一些要注意的地方:在找CollinearPoints前,先把points按Poin.compareTo从小到大排序。first loop 只需要迭代到 len - 2,因为后面...

2019-03-12 22:44:11 233

原创 普林斯顿大学算法课:Nuts and bolts

题目思路 :从bolts中取出一个bolt 去 partition nuts 得到匹配的一对nut和bolt,nut在nuts中的索引为q,在nuts中,q左半部分为均为小于nuts[p]的N1, 右半部分为N2.拿nuts[q] partition bolts 得到bolt在bolts中的索引也为q,同上q左半部分为均小于bolts[q]的B1,右半部分为B2.同1和2的递归...

2019-03-08 22:31:39 1392

原创 普林斯顿大学算法课:Shuffling a linked list

题目随机排列链表,时间复杂度要求O(nlogn)。思路 : 在归并排序的基础上,每次merge操作将辅助数组中的元素随机归并回原数组。代码import java.util.LinkedList;import edu.princeton.cs.algs4.StdRandom;public class ShufflingaLinkedList { private st...

2019-03-03 17:13:55 502

原创 普林斯顿大学算法课: Counting inversions

题目:计算数组中的逆序对。时间复杂度要求O(nlogn)。思路 : 在merge sort 的同时计算逆序对的数量。merge sort的时间复杂度满足要求。merge过程可能遇到的情况:lo > mid :左半部分的数组已经归并完,由于右半部分的数组是已经排序好的,所以没有逆序对。rec > hi :如上同理。temp[rec] < temp[lo] :左边的元...

2019-03-03 16:53:27 881

原创 普林斯顿大学算法课:Merging with smaller auxiliary array

题目描述:归并排序需要一个额外的数组aux,大小与原数组的大小相等。题目要求aux数组的大小为原数组的一半便可以实现归并排序。思路: 数组aux只用来保存原数组的前一半元素,即[lo : mid], 另一半 [mid+1: hi]无需复制。merge过程遇到的可能情况:lo > mid : 左半部分的数组已经归并完毕,只剩下右半部分,由于右半部分已经在原数组,可以...

2019-03-03 16:38:01 310

原创 Programming Assignment 2: Deques and Randomized Queues

Dequeue双头链表思路:每个Node包含next和before用来实现addFirst,addLast,removeFirst, removeLast。每次增加删减操作都确保 first.before 和 last.next 为null。import java.util.Iterator;import java.util.NoSuchElementException;/...

2019-03-03 16:19:31 143

原创 Lowest Bit

思路一:最简单的做法,先将A转换为二进制保存在char数组,然后从最后开始迭代直到第一个1,再计算其值。思路二: 一个十进制的数A,转换为二进制的运算可以通过不停地令A/2,每次除以2会二进制数多一位,因此可以判断第一次A%2为1时,这个1就是最后的1。代码如下#include<stdio.h>int main() { int A; //A为0退出循环 ...

2019-02-23 23:17:02 606

原创 Coursera算法课Programming Assignment 1: Percolation

Percolation目标通过蒙特卡洛模拟来计算 percolation threshold即渗滤阈值。渗滤percolation渗滤是一个由绝缘体和金属随机分布的复杂系统。那么它的金属分布在什么情况下会导致它是一个导体。科学家定义了一个抽象的被称作percolation的过程来为这些情况建模。模型这个模型被定义为一个n*n的方格来表示。方格site有两种状态:阻塞block和打开op...

2019-02-11 22:04:19 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除