
算法
文章平均质量分 67
新手村的0级玩家
一只飞奔的蜗牛,虽进步缓慢,但从未停止脚步
展开
-
LRU缓存结构解题过程
目录0.问题描述1.问题分析2.问题解决3.优化3.1引入新的数据结构3.2代码实现0.问题描述题目描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最原创 2020-12-31 16:49:41 · 243 阅读 · 0 评论 -
变异二分查找解题过程
目录0.问题描述1.问题分析2.问题深化及解决0.问题描述题目描述请实现有重复数字的有序数组的二分查找。输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。输入 5,4,[1,2,4,4,5]返回值 3说明 输出位置从1开始计算看完题目就确定是二分查找,不用过脑 /** * 二分查找 * @param n int整型 数组长度 * @param v int整型 查找值 * @param a int整型一原创 2020-12-30 15:26:11 · 270 阅读 · 0 评论 -
DBLP数据集处理
0.前言最近写论文用到了比较出名的DBLP数据集,详细介绍见DBLP官网DBLP数据集下载地址DBLP是以XML的形式给出的,类似于<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE dblp SYSTEM "dblp.dtd"><dblp> <article原创 2018-07-13 20:30:20 · 5358 阅读 · 2 评论 -
提前预测世界杯冠军
0.前言又一年的世界杯要开始了,不可避免的,我们要对比赛的结果进行预(jing)测(cai),那么如何科(yi)学(ben)严(zheng)谨(jing)的进行呢?首先我们来看一下比赛规则1.比赛规则1.1小组赛阶段32支参赛队通过抽签分为八个小组,每个小组分别有四支球队进行比赛,每支球队都必须和其他三支球队进行且只进行一场比赛,每组4个队循环比赛,共打6场,每...原创 2018-06-15 15:44:11 · 1675 阅读 · 0 评论 -
判断分数是否为无限循环小数
0.前言之前做编程题,有一个部分需要判断一个分数是否为无限循环小数,挺有意思,特此整理记录如下: 问题描述(大概意思是) 已知分子a和分母b ,判断 分数a/b是否为无限循环小数1.已知结论 将分数化为最简分数后,分母的全部因数(除去1和其自身)没有为2或5以外的数,则该分数就不是无限循环小数;否则为无限循环小数。首先我们看 1/n的实际含义:将 1 分...原创 2018-06-12 22:42:12 · 17951 阅读 · 1 评论 -
java模拟全排列按序输出所有可能的结果
0前言今天在线笔试遇见了一个很有意思的编程题,特此整理记录如下:1.问题描述 问题描述(大概意思是) 给出一组整数(整数范围是1-9,数据不重复),要求按升序输出所有的排序可能性 输入:首先输入一个n表示数据个数,然后是n个整数 输出:按升序一次输出每一种结果例如: 输入 : 3 1 5 9 输出 1...原创 2018-06-11 21:30:50 · 3127 阅读 · 0 评论 -
回溯法之N皇后问题
回溯法有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法。回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。思想方法回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树原创 2017-01-15 14:30:04 · 519 阅读 · 0 评论 -
分治算法之大整数相乘问题
1.问题描述 求两个大数A、B乘积的准确结果 其中A和B均为100位以上的十进制整数 A和B的位数可以不相等 2.问题分析(1)100位以上的整数,用整数变量直接存储装不下所以,中间运算时,牵扯到大数肯定当做字符串来存储(2)A和B直接乘操作肯定是操作不了,必须是分开来处理可以二分法,将AB转换A=A1*10^(n1/2) +A0 —– n1为a的位数 B=B1*10^原创 2016-10-22 19:18:56 · 6016 阅读 · 0 评论 -
Comparable和Comparator的区别
从字面意义上来看 Comparator 名词,比较器。 是针对于不同的情况可以单独定义。Comparable 形容词,可以比较的。“给类添加一项功能”。从用法上来看(从字面意义上来理解) Comparat原创 2015-09-02 20:28:08 · 524 阅读 · 0 评论 -
浅谈递归
我们先来假设这样一个场景: 有一个n层的大超市,所有的信息只能在相邻的楼层间进行传递,顶层为Boss的房间,底层(一楼)为统计长(不要较真这个职务)的房间,Boss一挥手,给统计长发布命令要查账,因此首先要将Boss的命令传递到一楼(传递的过程中每层统计本层的数据),然后一楼的统计长发布统计命令,每层之间逐层向上的将本层信息和下层信息汇总后交给上层,最后将最终结果交原创 2015-02-15 20:24:15 · 578 阅读 · 0 评论