自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dynamic Programming

Question 1 : Rob-CuttingGiven a rod of length n inches and an array of prices that contains prices of all pieces of size smaller than n.Determine the maximum value obtainable by cutting up the rod...

2019-10-17 09:38:45 153

原创 Divide and Conquer

Question 1: CS141-HW1Givennnon-negative integersa1, a2, ..., an, where each represents a point at coordinate (i,ai).nvertical lines are drawn such that the two endpoints of line i is at (i,ai...

2019-10-15 10:59:24 246

原创 利用字符串解决大整数加法溢出问题

在C/C++中带符号的int型只能表示正负31位,如果超过这个范围可以使用long long表示正负63位,若再大的数字则无法表示对于超大整型数字,可以先将其以字符串的方式存储,通过单个字符的-‘0’得到他对应的十进制数,从而进行计算注意代码中的k表示进位,n表示当前位的两个数字相加之后所得的和(包含了进位)#include<string>#include<str...

2018-09-22 10:28:01 1236

原创 PAT Basic 1008 数组元素循环右移问题

一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N ( 1<=N&lt...

2018-09-21 11:11:29 148

原创 C/C++中一些基本的输入输出用法

1.scanf()与printf()%c格式能够识别空格和换行并将其输入%s通过空格和换行来识别字符串的结束 2.getchar()与putchar()用来输入和输出单个字符 3.gets()与puts()用来输入一行字符串,gets()识别换行符来判断输入结束 4.sscanf()与sprintf()看例子#include<stdio.h&...

2018-09-19 19:12:33 489

原创 MASTER公式计算算法复杂度

2018-06-03 11:17:15 1024

原创 最小左子和问题——归并排序应用

问题描述:有一组数,每个数的左边如果有比自己小的数,则这个数要加入到左子和中。比如{3,2,5,4,6,9}5左边3+2,4左边3+2,6左边3+2+5+4,9左边3+2+5+4+6,左子和总大小为44(同理问题:每个数右边比自己小的数可以组成降序组,问有多少个降序组 用堆排序的思想来做代码只需要修改合并代码中的while()中的一部分即可 int mergearray(int a[],int l...

2018-06-02 15:49:03 260

原创 钢条切割问题——动态规划

基本原理:将钢条从长度为1至N依次分隔成两部分,例如分成1和N-1,2和N-2等,分割完后左半部分价格已经确定,则只需要计算右半部分(例如N-1,N-2)长度的钢条价格,而这又是一个子问题,故想到用递归来解决自顶向下递归代码实现如下int CutRod(int p[],int n){ if(n==0) return 0; int q=-1; for(int i=0;i<n...

2018-06-01 21:23:06 592

原创 最大子数组问题——分治策略

基本原理:最大字段有三种情况:1.最大字段在mid左边;2.最大字段在mid右边;3.最大字段经过mid第三种情况经过mid时,只需要从mid开始分别往左右两端遍历数组,找到最大值返回即可当最大字段在mid左边或者右边时,运用分治策略,把问题划分成更小的问题,递归解决。 代码实现如下int FindMaxCrossingSubarray(int a[],int low,int mid,int hi...

2018-06-01 17:39:35 492

原创 几大排序的原理以及代码实现

1.选择排序      原理:从左到右遍历数组,选择最小的放在第一个,再从第二个从左到右遍历,选择最小的放在第二个,再从第三个遍历,最小的放在第三个,以此类推到结束。void SelectionSort(int a[],int n){ //选择排序:从左到右选最小的放第一个, int temp=0; //再选第二小的放第二个以此类推 for(int i=0;i<n;i++) ...

2018-06-01 09:51:23 251

原创 二分查找

二分查找要点:     三个参数:mid、low、highimport java.util.Arrays;public class BinarySearch { public static int rank(int key,int []a) { int lo=0; int hi=a.length-1; while(lo<=hi) { int mid=(lo+hi)/...

2018-05-25 23:46:56 132

空空如也

空空如也

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

TA关注的人

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