caisense的专栏

诗和远方

华为模拟

长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换,完成以下函数 /** * 交换数组里n和0的位置 * array: 存储[0-n)的数组 * len: 数组长度 * n: 数组里要和0交换的数 */ extern void swap_with_zero(int*...

2018-08-07 18:59:23

阅读数:39

评论数:0

拼多多 8.5笔试

输入:s = “abcdefghijklmnop” 输出: abcde p f o g n h mlkji 思路:计算坐标即可。关键在于中间部分,观察知第一列和最后一列坐标相加为15 + 5 = 20 = 5*(n-1) import sys s = &...

2018-08-05 21:39:26

阅读数:251

评论数:0

最长公共子序列LCS(C++实现)

与之前c语言版本相比主要是使用了STL容器.另外下标的计算方式也有改动:记录表c(矩阵)中第0行和第0列都初始化为0作为辅助. 因此第i行对应的是字符串x的第i-1个元素,与原图对比即明白: 由于string模板的限制,字符串从0下标开始,因此x[0]对应矩阵第1行. 明白这点,y亦同理...

2018-01-11 00:33:24

阅读数:72

评论数:0

多维(NCHW)Tensor中的数据摆放顺序变换

遇到一个问题,将n*c*h*w的tensor转换为n*(h*w)*1*c. tensor储存在一维数组a中,易得坐标(nn,cc,hh,ww)的元素在a中的下标为:nn*c*h*w + cc*h*w + hh*w +wwn*(h*w)1*c可以看成n(h*w)*c,四维张量简化为三维,因为h*w...

2018-01-03 21:08:03

阅读数:1044

评论数:0

中缀和后缀表达式之间的转换

举例: (3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式前缀表达式(前缀记法、波兰式) 前缀表达式的运算符位于操作数之前。中缀表达式(中缀记法) 中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处...

2017-06-06 16:42:17

阅读数:278

评论数:0

魔力手环

小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使用魔力的时候就会发生一种奇特的变化:每个数字会变成自己跟后面一个数字的和(最后一个数字的后面一个数字是第一个),一旦某个位置的数字大于等于100就马上对100取模(比如某个位置变为103,就会自动变为3).现在给出这个魔力...

2017-04-23 18:38:30

阅读数:1648

评论数:0

算法导论 16-1.1活动选择问题 动态规划解

#include <iostream> #include <string> using namespace std; #define N 11void dynamic_activity_selector(int c[N+1][N+1], int rec[N+1][N+1],...

2017-04-20 19:02:27

阅读数:221

评论数:0

网易2017春招笔试 分饼干

易老师购买了一盒饼干,盒子中一共有k块饼干,但是数字k有些数位变得模糊了,看不清楚数字具体是多少了。易老师需要你帮忙把这k块饼干平分给n个小朋友,易老师保证这盒饼干能平分给n个小朋友。现在你需要计算出k有多少种可能的数值 输入描述: 输入包括两行: 第一行为盒子上的数值k,模糊的数位用X表...

2017-04-08 22:11:07

阅读数:1298

评论数:2

算法导论 15.4 最长公共子序列

c++实现: http://mp.blog.csdn.net/mdeditor/index/79029684 #include using namespace std; char X[8] = {'0','A','B','C','B','D','A','B'};//序列X,0号下标不用 c...

2017-04-06 21:21:12

阅读数:145

评论数:0

算法导论 第2版 9.2 线性时间做选择

以书上伪代码为模板编写#include<iostream> using namespace std; int A[11] = {-1,4,1,8,3,10,2,5,6,9,7};//下标从1开始,因此A[0]不用,用-1标记int partition(int *A, int p, in...

2017-04-05 16:43:39

阅读数:395

评论数:0

算法导论 第二版 8.2 计数排序

根据伪码编写:#include <iostream> #include <ctime> using namespace std; void counting_sort(int *A, int *B, int *C, int k, int n)//B是排序输出,C用来计数 {...

2017-03-30 17:35:53

阅读数:196

评论数:0

算法导论 第2版 7.3 快速排序随机化版本

根据书上伪码编写:#include <iostream> #include <ctime> using namespace std;int A[11] = {-1,4,1,8,3,10,2,5,6,9,7};//下标从1开始,因此A[0]不用,用-1标记 int n = s...

2017-03-29 20:01:07

阅读数:201

评论数:0

算法导论15.3 备忘录方法

备忘录使动态规划的一种变形,此处用备忘录解决前面的矩阵链乘次数最少问题. 由之前的代码修改而来见该页 动态规划函数matrix_chain_order() 改为备忘录函数memoized_matrix_chain()和lookup_chain()#include <iostream&g...

2017-03-28 22:47:03

阅读数:230

评论数:0

算法导论 15.1动态规划 装配线调度

代码根据15.1中伪代码编写#include<stdio.h>int e[3]={-1,2,4}; int x[3]={-1,3,2}; int n = 6; //a1[j]表示a(1,j),a2[j]表示a(2,j),以此类推,a1[0]不使用,设为-1 int a1[7]={-1...

2017-03-27 11:46:59

阅读数:278

评论数:0

算法导论 第六章 堆排序

以下C代码在clion上调试通过,编译器为clang. 根据算法导论伪码编写,说明见注释#include <stdio.h>void max_heapify(int *A, int i,int heap_size)//调整堆.让A[i]在最大堆中下降,使以i为根的子树成为最大堆 { ...

2017-03-24 20:06:47

阅读数:146

评论数:0

算法导论 第二版 动态规划 习题15.2-1

依照书上源码写出的C++实现,在clion上编译通过。 15。2-1。对维数序列为(5,10,3,12,5,50,6)的矩阵,找出矩阵链成积最小的全部加括号#include <iostream> #include <string> using namespace std;...

2017-03-24 17:35:05

阅读数:648

评论数:0

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