
算法
文章平均质量分 88
ACTIM__
ACTIM
展开
-
【2020.10.11 微盟 第三题】根据前序和中序数组构建后序数组
package top.actim.test09;public class Solution { /** * * @param preorderData long长整型一维数组 * @param inorderData long长整型一维数组 * @return long长整型一维数组 */ public long[] buildPostOrder(long[] preorderData, long[] inorderData) { // write code here原创 2020-10-11 18:11:52 · 143 阅读 · 0 评论 -
【失败的面试】32进制数相加
这没有IDE连个字符转数字都写得乱七八糟package top.actim.test09;import java.util.Iterator;import java.util.LinkedList;public class Test03 { public static void main(String[] args) { Test03 test03 = new Test03(); System.out.println(test03.cal("6shb", "7bs")); Sy原创 2020-10-09 21:02:56 · 315 阅读 · 0 评论 -
【2020.10.01 兴业数金】进制转换、补码
package top.actim.test08;public class Solution { /** * 将输入的十进制数字转换为对应的二进制字符串和十六进制字符串 * * @param number string字符串 十进制数字字符串 * @return string字符串 */ public String changeFormatNumber(String number) { String an = null; char[] ans = new char[21原创 2020-10-01 04:23:45 · 890 阅读 · 0 评论 -
【程序员面试金典】面试题62. 圆圈中最后剩下的数字(模运算)
1. 题目2. 思路最优子问题:n 个数时,第一个删除的数的位置应当是 m%n (从零开始)设 n-1 时,最后剩余的数的位置为 x (从零开始)n 个数时,删除第一个数后,剩余 n-1 个数,并从 m%n 开始进行删除,最后剩余的数为 (m%n + x) % nPS: (m%n + x) % n < x (因为 (x + n) % n = x, 而 m%n < ...原创 2020-04-01 01:03:20 · 557 阅读 · 0 评论 -
LeetCode刷题:【待做 1162】 地图分析(多源最短路径/BFS - 超级源点)
官方题解本题待做…原创 2020-03-29 23:44:42 · 399 阅读 · 1 评论 -
LeetCode刷题: 【820】单词的压缩编码(字典树、后缀匹配)(c++ 遍历 map)
1. 题目2. 思路官方题解【1. 后缀记录】【2. 字典树】其他题解【3. 反转排序】3. 代码(字典树)/*** 字典树结点*/class Tree{private: unordered_map<char, Tree*> node;public: bool add(char c){ if(node[c] != 0){ ...原创 2020-03-29 01:06:57 · 424 阅读 · 0 评论 -
LeetCode刷题: 【914】卡牌分组(求N个数的最大公因数)
1. 题目2. 思路如何求N个数的最大公因数呢?(N > 1)在初等数学里,有这么几个定理1、任何一个整数,都可以分解为素数因子的乘积比如24 = 2* 2* 2 * 3;26 = 2 * 13;分解时应该从2开始分解起2、若干个数的最大公因数是共同素数因子的乘积比如 求 48 60 72 的最大公因数48 = 2*2*2*2*360 = 2*2*3*572 = ...原创 2020-03-27 22:36:29 · 422 阅读 · 0 评论 -
LeetCode刷题: 【945】使数组唯一的最小增量
1. 题目2. 思路首先对数组排序。只允许加操作,在按任何次序使元素增加的过程中,保持最少次数的结果是一样的。只需让排好序的数组中每个元素都至少比前一个元素大一即可,差值即为增加次数。3. 代码class Solution {public: int minIncrementForUnique(vector<int>& A) { sort(...原创 2020-03-22 21:27:13 · 166 阅读 · 0 评论 -
LeetCode刷题: 【365】水壶问题(关于游戏型问题可以使用系统搜索)
题目思路一、回溯法(或者分支限界)在任意一个时刻,我们可以且仅可以采取以下几种操作:把 X 壶的水灌进 Y 壶,直至灌满或倒空;把 Y 壶的水灌进 X 壶,直至灌满或倒空;把 X 壶灌满;把 Y 壶灌满;把 X 壶倒空;把 Y 壶倒空。– — –代码待写二、贝祖定理而贝祖定理告诉我们,ax+by=z 有解当且仅当 z 是 x, y 的最大公约数的倍数。因此我们只需要找到 x...原创 2020-03-21 20:47:11 · 355 阅读 · 2 评论 -
LeetCode刷题: 【1071】字符串的最大公因子(辗转相除法)
1. 题目2. 解题思路满足题目要求的子串长度为两个字符串长度的最大公因数gcd计算最大公因数gcd,若两个字符串以gcd为周期,且前gcd字符相同则前gcd字符为题解PS: 如果str1 + str2 == str2 + str1则一定有公因子辗转相除法:两个数的最大公约数等于它们中较小的数和两数之差的最大公约数。3. 代码class Solution {public:...原创 2020-03-12 17:08:23 · 590 阅读 · 0 评论 -
【PAT甲级(Advanced Level)练习题】1002. Read Number in Chinese
1. 题目2. c++代码#include<iostream>#include<cstring>#include<cmath>using namespace std;/** * @author : ACTIM * @date : 2020/2/24 01:58 * @discription : https://www.nowcoder.c...原创 2020-02-24 02:06:48 · 226 阅读 · 1 评论 -
LeetCode刷题: 【5】最长回文子串 (动态规划)
1. 题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromi...原创 2020-01-09 10:32:30 · 331 阅读 · 0 评论 -
LeetCode刷题: 【15】三数之和
1. 题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]来源:力扣(Leet...原创 2019-09-18 23:30:47 · 387 阅读 · 0 评论 -
【剑指offer】Q7_重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解(迭代 使用类似排序树的方法定位结点位置)# -*- coding:utf-8 -*-class TreeNode: def __init__...原创 2019-09-16 18:18:57 · 225 阅读 · 0 评论 -
【计算方法实验】实验7:最小二乘法
least_square.mfunction outputArg1 = least_square(xs,ys,n)%UNTITLED 最小二乘法% 输入x、y数组 以及n拟合多项式的次数% 创建矛盾方程组系数矩阵A = ones(length(xs),n + 1);for m = 2:n+1 A(:,m) = xs' .* A(:,m-1);end% 创建正规方程组...原创 2019-07-17 11:32:03 · 1301 阅读 · 0 评论 -
【剑指offer】Java版代码(完整版)
原文:https://blog.youkuaiyun.com/baiye_xing/article/details/78428561#comments看到了不错的东西mark一下:-----------------------------------------------------------------------------------------------------------一、引...转载 2019-03-29 10:17:34 · 441 阅读 · 0 评论 -
LeetCode刷题: 【566】重塑矩阵
556.重塑矩阵在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:...原创 2019-05-25 19:25:59 · 342 阅读 · 0 评论 -
LeetCode刷题: 【120】三角形最小路径和
1. 题目:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。...原创 2019-05-30 22:00:10 · 288 阅读 · 0 评论 -
LeetCode刷题: 【76】最小覆盖子串
1. 题目给你一个字符串 S、一个字符串 T,请在字符串 S里面找出:包含 T所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。链接:https://leetcode-cn.com/problems/minimu...原创 2019-06-12 15:51:58 · 258 阅读 · 0 评论 -
LeetCode刷题: 【101】对称二叉树
1. 题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解决这...原创 2019-06-07 15:25:40 · 177 阅读 · 2 评论 -
【计算方法实验】实验1:二分法
#include<iostream>#include<iomanip>#include<cmath>using namespace std;double f(double x){ return pow(x, 3) + 10*x - 20; }double binarySearch(double lef = 1, double righ = 2, d...原创 2019-07-17 11:17:48 · 750 阅读 · 0 评论 -
【计算方法实验】实验2:牛顿迭代法
/**用牛顿迭代法求方程f(x)=e^x-3-x=0,在区间(1,2)内的根,输出迭代结果并统计所用迭代次数,取 误差=10^(-5) ,x0=2*/public class Newton{ public static void main(String[] args){ Iteration it = new Iteration(); it.setX0(2); it.setA...原创 2019-07-17 11:22:43 · 2762 阅读 · 0 评论 -
【计算方法实验】实验3:选列主元素消去法
package top.actim.cc;public class Gauss { public static void main(String[] args) { Marix mat = new Marix(); mat.mat = new double[][] { { 1, 2, -1, 3 }, { 1, -1, 5, 0 }, { 4, 1, -2, 2 } }; f...原创 2019-07-17 11:26:05 · 532 阅读 · 0 评论 -
【计算方法实验】实验4:赛德尔迭代法
#include<iostream>#include<cmath>using namespace std;class Serdel{private: double* source; double** iterater; double* x; int n;// 迭代矩阵行数/x个数 n+1为矩阵列数public: Serde...原创 2019-07-17 11:27:30 · 441 阅读 · 0 评论 -
【计算方法实验】实验5:拉格朗日插值
#include<iostream>using namespace std;class Point{public: double x,y; Point(double x, double y):x(x),y(y){}};class Lagrange{public: double getPrimaryFunctionValue(double x,...原创 2019-07-17 11:29:17 · 1296 阅读 · 0 评论 -
【计算方法实验】实验6:牛顿插值
#include<iostream>#include<iomanip>using namespace std;// 差商表class DiffQuot{public: double *xk; double *fxk; double **order;//差商 列 xk f(xk) 一阶均差 二阶... int n;// 点的个数 ...原创 2019-07-17 11:30:06 · 984 阅读 · 0 评论 -
0-1背包问题——回溯算法、递归、c语言实现
◉ 问题:给定n种物品和一个背包。假设物品i(1≤i≤n)的重量为w ,其价值为V,背包的容量为limit.物品i(1≤i≤n)装人背包时,或者不装人,或者全部装人,不能只装人物品i的一” 部分。问:应该如何选择物品装人背包,才能使背包内物品的总价值最大? ◉ 0-1背包问题求解过程:①定义一维数组w(n)储存物品的重量,一维数组v(n)储存物品的价值。②定义一维数组x(n)存...原创 2018-10-02 21:33:50 · 7228 阅读 · 1 评论