算法
一氧化二氢的执着
及时当勉励,岁月不待人。
展开
-
树的非递归遍历(层序,前序,中序,后序)图解
1.层序遍历2.前序遍历3.中序遍历4.后序遍历原创 2019-08-20 14:57:25 · 126 阅读 · 1 评论 -
01背包问题
问题引入有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值.问最多能装入背包的总价值是多大?A[i], V[i], n, m 均为整数你不能将物品进行切分你所挑选的要装入背包的物品的总大小不能超过 m每个物品只能取一次测试链接: https://www.lintcode.com/problem/backpack-ii/my-s...原创 2019-12-19 23:58:47 · 166 阅读 · 0 评论 -
[操作系统]模拟处理器调度的算法
概述按优先数调度算法实现处理器调度在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本次模拟在单处理器情况下的处理器调度要求设计一个按优先数调度算法实现处理器调度的程序假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为:进程名, 要求运行时间, 优先数, 状态其中,...原创 2019-11-17 22:53:55 · 1030 阅读 · 0 评论 -
[牛客网]偏移数组查找
题目描述有一个排过序的数组,包含n个整数,但是这个数组向左进行了一定长度的移位,例如,原数组为[1,2,3,4,5,6],向左移位5个位置即变成了[6,1,2,3,4,5],现在对于移位后的数组,需要查找某个元素的位置。请设计一个复杂度为log级别的算法完成这个任务。给定一个int数组A,为移位后的数组,同时给定数组大小n和需要查找的元素的值x,请返回x的位置(位置从零开始)。保证数组中元素...原创 2019-11-12 23:35:06 · 257 阅读 · 0 评论 -
[牛客网]任意进制转化
题目:给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数。输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。输出描述:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)示例1:输入7 2输出111首先要知道如何进制转换, 你可以在纸上练习一下10(D)转成2...原创 2019-11-08 23:16:59 · 174 阅读 · 0 评论 -
连续最大子段和(遍历,分治,递归)C++
连续最大子段和问题给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。方法一 : 遍历 O(n2)最简单的方法, 但时间复杂度太高int FindGreatestSumOfSubArrayWay1(vector<int> data){ int sum = 0; int thisSu...原创 2019-09-25 17:18:20 · 1138 阅读 · 0 评论 -
C++杨辉三角(vector<vector>)
给定一个非负整数numRows,生成杨辉三角的前numRows行#include <iostream>#include <vector>#include <cstdlib>using namespace std;vector<vector<int>> generate(int numRows) { vector<ve...原创 2019-09-23 22:01:54 · 629 阅读 · 0 评论 -
C++大数相乘(高精度乘法)
高精度乘法高精度算法,属于处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据的一种模拟加,减,乘,除,乘方,阶乘,开方等运算。对于非常庞大的数字无法在计算机中正常存储,于是,我们可以将这个数字拆开,拆成一位一位的,或者是几位几位的存储到一个数组中, 用一个数组去表示一个...原创 2019-09-19 10:59:25 · 3013 阅读 · 0 评论