随笔分类 -  算法与数据结构

基本的算法代码
排序之冒泡排序
摘要:冒泡排序的过程很简单,首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两个记录,然后比较第二个记录和第三个记录。以此类推,直到第n-1个记录和第n个记录进行比较完毕。上述过程为一趟冒泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上上。然后进行第二趟冒泡排序,对前n 阅读全文

posted @ 2017-10-12 09:30 wsw_seu 阅读(257) 评论(0) 推荐(0)

查找数组中第k大的数
摘要:问题: 查找出一给定数组中第k大的数。例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8…… 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]。 2. 只需找到第k大的数,不必把所有的数排好序。我们借助快速排序中partition过程,一般情况下,在把所 阅读全文

posted @ 2017-10-11 19:37 wsw_seu 阅读(24226) 评论(1) 推荐(0)

Multiply Strings
摘要:Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2. Note: The length of both num1 and num2 is < 阅读全文

posted @ 2017-10-11 19:09 wsw_seu 阅读(154) 评论(0) 推荐(0)

排序之插入排序
摘要:1、直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录增1的有序表。一般情况下,第i趟直接插入排序的操作为:在含有i-1个记录的有序 子列中插入一个记录r[i],变成含有i个记录的有序子序列。从已经排好序的部分的尾部向前找合适的位置插入。每次 阅读全文

posted @ 2017-10-10 20:59 wsw_seu 阅读(269) 评论(0) 推荐(0)

排序之快速排序
摘要:快速排序是对冒泡排序的一种改进,他的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两个部分的记录继续进行排序,以达到整个序列有序的目的。,首先选定一个记录作为枢轴,然后按下述原则进行排列:将所有关键字较它小的记录都安置在它的位置之前, 阅读全文

posted @ 2017-10-10 19:05 wsw_seu 阅读(284) 评论(0) 推荐(0)

Add Two Numbers
摘要:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contai 阅读全文

posted @ 2017-10-09 20:45 wsw_seu 阅读(101) 评论(0) 推荐(0)

4sumII
摘要:Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l]is zero. To make prob 阅读全文

posted @ 2017-10-09 19:53 wsw_seu 阅读(138) 评论(0) 推荐(0)

碎片长度
摘要:一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。 阅读全文

posted @ 2017-10-04 20:25 wsw_seu 阅读(271) 评论(0) 推荐(0)

网易魔法王国
摘要:小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小 阅读全文

posted @ 2017-10-04 20:02 wsw_seu 阅读(181) 评论(0) 推荐(0)

导航