runtime

【Leetcode 做题学算法周刊】第四期

流过昼夜 提交于 2020-03-18 13:32:44
首发于微信公众号《前端成长记》,写于 2019.11.21 背景 本文记录刷题过程中的整个思考过程,以供参考。主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 67.二进制求和 69.x的平方根 70.爬楼梯 83.删除排序链表中的重复元素 88.合并两个有序数组 Easy 67.二进制求和 题目地址 题目描述 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0 。 示例: 输入: a = "11", b = "1" 输出: "100" 输入: a = "1010", b = "1011" 输出: "10101" 题目分析设想 这道题又是一道加法题,所以记住下,直接转数字进行加法可能会溢出,所以不可取。所以我们需要遍历每一位来做解答。我这有两个大方向:补0后遍历,和不补0遍历。但是基本的依据都是本位相加,逢2进1即可,类似手写10进制加法。 补0后遍历,可以采用先算出的位数推入数组最后反转,也可以采用先算出的位数填到对应位置后直接输出 不补0遍历,根据短数组的长度进行遍历,长数组剩下的数字与短数组生成的进位进行计算 查阅他人解法 Ⅰ.补0后遍历,先算先推 代码: /** * @param {string} a * @param {string} b * @return {string} */ var

iOS Runtime中如何通过SEL找到IMP

不想你离开。 提交于 2020-03-17 12:04:00
objc_msgSend(id self, SEL _cmd, ...) 中SEL找到IMP的流程 以下是苹果开源代码中Runtime底层的部分删减后的汇编代码 ENTRY _objc_msgSend ldr x13, [x0] // x13 = isa and x16, x13, #ISA_MASK // x16 = class cmp x0, #0 // nil check and tagged pointer check b.le LNilOrTagged // (MSB tagged pointer looks negative) LGetIsaDone: CacheLookup NORMAL // calls imp or objc_msgSend_uncached LNilOrTagged: b.eq LReturnZero // nil check END_ENTRY _objc_msgSend 1.首先会进入汇编中 ENTRY _objc_msgSend 2.如果指针小于等于 LNilOrTagged 直接 return 返回 3.通过 isa 找到相应类 class 4. CacheLookup : NORMAL CacheLookup 源码中注释为: Locate the implementation for a selector in a class

深度学习系列六:将网络迁移到TensorRT7.0平台

时光怂恿深爱的人放手 提交于 2020-03-17 01:45:59
概述 关于使用TensorRT对网络进行加速的基本工作在 深度学习系列五:使用TensorRT对网络进行加速 中描述很详细了,这里主要记录下在迁移到7.0时,顺便解决了之前ResizeNearestNeighbor这个层在uff模型中无法直接支持必须外挂plugin的问题。 Keras模型转ONNX模型 之前使用6.0时,采用的方案是Keras模型转uff模型,再创建engine,其实从官方文档可以看出来,目前TensorRT对onnx支持更好,它对onnx支持的层是最多的,这样容易理解,毕竟onnx可以由各种模型转化得到,因此本次使用onnx模型建立engine,转化可以使用 keras-onnx库 ,安装也很简单: pip3 install keras2onnx 安装完成后使用api进行转换,非常简单,当然还必须安装tensorflow或者keras: import keras2onnx import onnx # load keras model model = tf . compat . v1 . keras . models . load_model ( model_path ) # convert to onnx model onnx_model = keras2onnx . convert_keras ( model , model . name , target

Target runtime com.genuitec.runtime.generic.jee50 is not defined

半腔热情 提交于 2020-03-16 19:10:03
Target runtime com.genuitec.runtime.generic.jee50 is not defined 导入别人的工程,发现报错Target runtime com.genuitec.runtime.generic.jee50 is not defined 解决方法: 1. 找到工程目录的.settings 2. 找到org.eclisep.wst.common.project.facet.core.xml文件 3. 打开该文件,会发现<runtime name="com.genuitec.runtime.generic.jee60" />,把这句话去掉 4. 刷新工程就行了 来源: https://www.cnblogs.com/sxjblogs/p/11107464.html

JDK、JRE、JVM三者间的关系

旧时模样 提交于 2020-03-16 02:40:43
     文章出处:http://playkid.blog.163.com/blog/static/56287260201372113842153/   JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。        在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具。      JDK(Java Development Kit)   JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。   JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。   JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)

刷网页浏览(二)

巧了我就是萌 提交于 2020-03-15 10:20:30
经过研究,发现网页统计浏览量主要是根据ip地址和cookie中的缓存,并且网站都会做防刷, 它会判断url的来源,如: 来源URL:Request.UrlReferrer 浏览器类型:Request.UserAgent 远程客户端的DNS:Request.UserHostName 所以用httpclient去访问页面时,还要把userAgent修改一下,当然紧紧是修改userAgent是不行的,浏览器访问网页得到html,需要解析: 根据资源类型决定如何处理(假设资源为HTML文档) 解析HTML文档,构件DOM树,下载资源,构造CSSOM树,执行js脚本,这些操作没有严格的先后顺序,以下分别解释 构建DOM树: Tokenizing:根据HTML规范将字符流解析为标记 Lexing:词法分析将标记转换为对象并定义属性和规则 DOM construction:根据HTML标记关系将对象组成DOM树 解析过程中遇到图片、样式表、js文件,启动下载 构建CSSOM树: Tokenizing:字符流转换为标记流 Node:根据标记创建节点 CSSOM:节点创建CSSOM树 根据DOM树和CSSOM树构建渲染树 : 从DOM树的根节点遍历所有可见节点,不可见节点包括:1) script , meta 这样本身不可见的标签。2)被css隐藏的节点,如 display: none

video视频播放

本小妞迷上赌 提交于 2020-03-15 09:14:04
<!DOCTYPE html><html lang="en" ><head><meta charset="UTF-8"><title>Video Player w/ React & GSAP 📺</title><style type="text/css"> #myvideo{ width: 800px; height: 600px; margin: 0 auto; } h3{ font-size: 20px; } .my_show{ width: 800px; height: 600px; border: solid 1px gray; }</style></head><body> <h3>我的音乐我做主</h3> <video id="myvideo" controls autoplay> <source src="video/de2.mp4" type="video/mp4"> </video><div> 播放时间: <span id="showTime"></span></div><br><div id="buttonDiv"> <input type="button" value="播放/暂停" onclick="PlayorPause()"> <input type="button" value="增加音量" onclick="AddYin()"> <input type

eclipse Target runtime com.genuitec.runtime.generic.jee50 is not defined

佐手、 提交于 2020-03-13 00:43:38
1.情景展示   报错信息如下: 2.原因分析   使用eclipse导入myeclipse时,唯独这个报错信息改不了。   需要通过修改这个项目的配置文件才行。 3.解决方案   第一步:切换到导航视图;   第二步:   知道该项目的.settings目录   --》 找到org.eclisep.wst.common.project.facet.core.xml文件   --》去掉配置:<runtime name="com.genuitec.runtime.generic.jee60" />   切换到原来的视图,看,已经不报错了。 写在最后   哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!! 相关推荐: 个人主页 开发工具问题指南 来源: https://www.cnblogs.com/Marydon20170307/p/11024704.html

八种排序算法效率比较

流过昼夜 提交于 2020-03-12 22:27:08
从刚上大一那会儿学的 C 语言开始,就已经接触到了不少排序 算法 ,但当时都只是为了完成简单的排序任务而已,而且所给的数据也不够多,所以看不出各个排序 算法 间的执行效率的优劣。最近有个数据结构课程设计的实验,是有关于排序 算法 之间的效率比较,我就顺便把它放上来了,并对各个算法执行的效率时间做了柱形统计图表。此次实验主要测试了8种排序算法:插入排序、快速排序、冒泡排序、希尔排序、简单选择排序、堆排序、归并排序、折半插入排序。 总共建立了三种情况,分别是平均排序、最好情况排序、最坏情况排序。第一种情况就是使用了VC6.0下的随机数生成函数输出100000个随机数进行排序;第二种情况是100000个数本身已经按从小到大的顺序排列了;第三种情况就是100000个数全部是按逆序排列。代码如下: #include<stdio.h> #include<stdlib.h> #include<time.h> #include<windows.h> #define MAX 100000 void InsSort(int r[],int length) { int i,j; for (i=2;i<=length;i++) { r[0]=r[i]; j=i-1; while(r[0]<r[j]) { r[j+1]=r[j]; j=j-1; } r[j+1]=r[0]; } } //插入排序 void

前端工程化之webpack中配置babel-loader(四)

纵饮孤独 提交于 2020-03-12 19:30:58
安装 安装:npm i -D babel-core babel-loader babel-plugin-transform-runtime 安装:npm i -D babel-preset-es2015 babel-preset-stage-0 安装:npm i -S babel-runtime 说明: babel-core 把 js 代码分析成 ast (抽象语法树, 是源代码的抽象语法结构的树状表现形式),方便各个插件分析语法进行相应的处理。有些新语法在低版本 js 中是不存在的,如箭头函数,rest 参数,函数默认值等,这种语言层面的不兼容只能通过将代码转为 ast,再通过 语法转换器 分析其语法后转为低版本 js。 babel-preset-* babel-plugin-* 代表了一系列的转码插件 有了 babel-plugin 系列,可以按需配置自己想要的特性,若是想搭个 es6 环境,一个个地配置各个插件,我猜你会疯掉。babel-preset 系列就可以满足我们的需求,babel-preset 系列打包了一组插件,类似于餐厅的套餐。如 babel-preset-es2015 打包了 es6 的特性,babel-preset-stage-0 打包处于 strawman 阶段的语法 babel-runtime babel-runtime 在代码中中直接引入 helper