algorithm
susuxuezhang
刚入门的一只小白
展开
-
day7
1.递归(保留往期第五天任务)通过LeetCode上【70. 爬楼梯】学习(建议)我直接用动态规划做,方便一点class Solution { public int climbStairs(int n) { if(n==0||n==1||n==2){ return n; } int[] dp=ne...原创 2019-04-26 15:54:06 · 113 阅读 · 0 评论 -
3-sum问题
#include <iostream> #include <algorithm>using namespace std; int binarysearch(int key,int a[],int hi){ int lo=0; while(lo<=hi) { int mid=lo+(hi-lo)/2; if(key<a[mid]) h...原创 2017-12-11 21:20:23 · 407 阅读 · 0 评论 -
DAY1
1.数组实现栈public class Stack { int size; int top; int []data; public Stack(int size){ this.size=size; data=new int[size]; top=-1; } public int getSize()...原创 2019-04-08 18:17:41 · 347 阅读 · 0 评论 -
DAY4
1.基于链表法解决冲突问题的散列表class ChainingHashSet<K, V> { private int num; // 当前散列表中的键值对总数 private int capacity; // 散列表的大小 private SeqSearchST<K, V>[] st; // 链表对象数组 // 构造函数...原创 2019-04-16 14:37:13 · 142 阅读 · 0 评论 -
DAY3
排序实现归并排序、快速排序、插入排序、冒泡排序、选择排序、堆排序(选做)1.冒泡 /** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * ...原创 2019-04-13 21:04:33 · 95 阅读 · 0 评论 -
动态规划集锦
问题1:方法一:方法二:本人的JAVA实现:方法三:问题2:问题3:方法一:方法二:最大收益的买卖时间暂时还没搞定,未完待续。问题四:方法一:方法二:方法三:本人的JAVA尝试:问题5:方法一...原创 2019-03-26 18:46:10 · 370 阅读 · 3 评论 -
2-sum问题
#include <iostream> #include <algorithm>using namespace std; int binarysearch(int key,int a[],int hi){ int lo=0; while(lo<=hi) { int mid=lo+(hi-lo)/2; if(key<a[mid]) h...原创 2017-12-11 21:22:49 · 166 阅读 · 0 评论 -
局部最小元素
1.数组的局部最小元素#include <iostream>using namespace std;int find(int a[],int begin,int end){ int N=end+1; if(N==1) return 0; if(a[0]<a[1]) return 0; if(a[N-1]<a[N-2]) return ...原创 2017-12-13 21:31:46 · 531 阅读 · 0 评论 -
链表插入
看算法第四版看的头大,换了本啊哈算法看,觉得更好接受一些,不过这书的确有些缺点,不够严谨。#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;struct node{ int data; struct node *next;};int...原创 2017-12-18 16:57:03 · 197 阅读 · 0 评论 -
DFS 拯救Alice
1.Ignatius and the Princess IProblem DescriptionThe Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has to rescue our pretty Princess. Now he gets into feng5166's castle. T...原创 2019-05-27 11:41:49 · 114 阅读 · 0 评论 -
Day2
1.支持动态扩容2.支持动态增删public class MyArray { int Size=0; int capacity=0; int[] p=null; public MyArray(int len) { p=new int[len]; capacity=len; } public voi...原创 2019-04-11 19:43:42 · 130 阅读 · 0 评论 -
Day5
实现一个二叉查找树,并且支持插入、删除、查找操作//插入元素 BinarySearchTreeNode insert(BinarySearchTreeNode root, int data) { if (root == null) root = new BinarySearchTreeNode(data);//若原树为空, 生成并返回一个结点...原创 2019-04-19 17:12:34 · 90 阅读 · 0 评论 -
Day6
1.dijkstra/** Dijkstra最短路径。* 即,统计图中"顶点vs"到其它各个顶点的最短路径。** 参数说明:* vs -- 起始顶点(start vertex)。即计算"顶点vs"到其它顶点的最短路径。* prev -- 前驱顶点数组。即,prev[i]的值是"顶点vs"到"顶点i"的最短路径所经历的全部顶点中,位于"顶点i"之前的...原创 2019-04-22 20:37:35 · 124 阅读 · 0 评论 -
排序
package Day3;import java.util.Arrays;public class Sort { public static void main (String[] args){ int[] a={3,1,5,7,2,4,9,6}; int[] b={6,8,7,9,0,1,3,2,4,5}; int[] c={5,...原创 2019-09-24 00:57:04 · 87 阅读 · 0 评论