草庐IT

组合数学

全部标签

Javascript:检查是否可以通过组合数组中的其他字符串来重新创建字符串?

我正在尝试找出检查是否可以通过组合数组中的其他字符串来创建特定字符串的最佳方法。其他字符串可以是任意长度,包括一个字符。此外,其他字符串中的字符可以重新排序。因此,如果我们正在寻找单词“dodge”并且我们的字符串数组是['god','house','d','e','cat','c','r','jump'],我们会有一场比赛,因为我们可以组合'god'、'd'和'e'中的字母来创建'dodge'。如果数组包含“dot”而不是“d”,我们将无法匹配,因为我们必须使用我们重新组合的每个单词中的所有字符(我们必须使用“o”和“t'也是如此)。我还想知道哪些词被用来创建指定的词,所以如果有匹配

javascript - 返回数组组合数组的函数

我正在尝试制作一个_.combinations函数(下划线混合),它采用三个参数arr、pockets、duplicates。这是我设计的一个测试,用于展示行为应该如何。expect(_.combinations([1,2],1,false)).to.be.equal([[1],[2]])expect(_.combinations([1,2],1,true)).to.be.equal([[1],[2]])expect(_.combinations([1,2,3],2,false)).to.be.equal([[1,2],[1,3],[2,3]])expect(_.combination

javascript - 根据 bool 值的不同组合做不同的事情时如何消除if-else?

例如,假设我需要根据bool值的组合做不同的事情:cond_0、cond_1和cond_2:cond_0cond_1cond_2falsefalsefalsea();falsefalsetrueb();...truetruetrueh();看起来好像将位号映射到函数:000:a()001:b()...111:h()虽然一般规则看起来很简单,但我不知道没有if-else怎么写,现在的形式是这样的:varf=function(cond_0,cond_1,cond_2){if(!cond_0&&!cond_1&&!cond_2){a();}elseif(cond_0&&!cond_1&&!c

javascript - 为简单的数学运算生成语法树

我正在尝试为具有简单数学运算符(+、-、*、/和括号)的给定字符串生成语法树。给定字符串“1+2*3”:它应该返回一个像这样的数组:["+",[1,["*",[2,3]]]]我做了一个函数来转换[1,”+”,2,”*”,3中的“1+2*3”。问题是:我不知道优先考虑某些操作。我的代码是:functionisNumber(ch){switch(ch){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':case'.':returntrue;break;default:returnf

javascript - 测试 Redux 组合 reducer

假设我有几个reducer函数,我使用combineReducers(...)将它们全部组合到一个reducer中,有没有一种方法可以测试组合的reducer实际包含哪些reducer?例如,如果我有这个:import{combineReducers}from'redux'constreducer1=(state,action)=>{...}...(morereducers,etc)constrootReducer=combineReducers({reducer1,reducer2,reducer3})exportdefaultrootReducer我可以使用Mocha和Expect

javascript - 将音频和视频轨道组合到新的 MediaStream 中

我需要使用来自不同MediaStreams的音频和视频创建一个MediaStream。在Firefox中,我可以从轨道数组中实例化一个新的MediaStream:varoutputTracks=[];outputTracks=outputTracks.concat(outputAudioStream.getTracks());outputTracks=outputTracks.concat(outputVideoStream.getTracks());outputMediaStream=newMediaStream(outputTracks);不幸的是,这在Chrome中不起作用:Re

javascript - 使用复选框+标签组合防止双击错误

请注意,此问题可能不适用于一般公众,因为它不会发生,除非您是快速点击者。(150-200毫秒/点击)我发布此问题的原因是因为我的应用程序有一个表单,其中有20多个复选框彼此相邻,经过广泛研究后我没有发现与此相关的问题。这是一个简化的场景-4个复选框和4个标签,每个复选框id一个:[CB1]Label1[CB2]Label2[CB3]Label3[CB4]Label4假设在每种情况下所有CB都未选中。预期行为:我快速连续点击4个CB,它们都会被选中。(正确)我快速连续点击4个标签,相应的CB变为选中状态。(仅适用于Chrome,但仍不是最佳选择)案例2在Win7上的实际行为(点击标签,因

与以太坊同源异流,eCash“PoW+雪崩”组合共识各司其职

9月15日,全球最大的去中心化互联网平台、最具创新能力的区块链和Web3生态、成立8年的以太坊将完成信标链与原链合并,彻底告别PoW,开启PoS新纪元。42万验证用户、7000多个活跃节点、上万个区块链团队、几乎所有加密和区块链从业者,以及各大主流金融监管机构、半导体巨头、国内外互联网巨头……都在密切关注这一历史性事件。赶在以太坊合并前一天,9月14日,比特币“点对点的电子现金系统”理想的继承者、BCH主要缔造者和核心开发组BitcoinABC支持的eCash,将在保留PoW共识的基础上,正式启用可实现秒级确认的雪崩共识协议(Avalanche)。为解决PoW的效率问题,eCash与以太坊——

javascript - 为什么动态值没有填充在自动完成组合框中?

我从jquery和StackOverflow问题中引用了许多示例。但是没有给出将数据库值添加到自动完成组合框中的示例。这就是我在这里提出这个问题的原因。请告知为什么数组值没有填充到自动完成组合框中?这里是mysamplecoding(function($){$.widget("custom.combobox",{_create:function(){this.wrapper=$("").addClass("custom-combobox").insertAfter(this.element);this.element.hide();this._createAutocomplete();

javascript - Y 组合器 : Some functions do not have fixed points

WikipediaarticleontheYcombinator提供了Y组合器的以下JavaScript实现:functionY(f){return((function(x){returnf(function(v){returnx(x)(v);});})(function(x){returnf(function(v){returnx(x)(v);});}));}JavaScript中Y组合器的存在意味着每个JavaScript函数都有一个不动点(因为对于每个函数g、Y(g)和g(Y(g))应该相等)。但是,不难想出违反Y(g)=g(Y(g))的不带不动点的函数(参见here)。甚至某些