自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 “Error: A <Route> is only ever to be used as the child of <Routes> element“

这是由于react-router-dom版本写法问题。即Route必须被括在Routes里。使用路由的时候遇到这个bug。

2023-01-05 18:05:22 373 1

原创 anaconda python常见命令

#创建一个名称为my_test激活虚拟环境查看已有的虚拟环境切换环境当前环境安装包进入jupyter终端输入包分发包括requirement.txt

2022-12-06 11:12:46 525

原创 矩阵中的路径

给定一个 m x n 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true;否则,返回 false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。...

2022-08-12 22:31:16 218

原创 斐波那契数列的多种解法

代码】斐波那契数列的多种解法。

2022-08-11 23:25:49 191

原创 Javascript垃圾回收机制

当变量进入上下文,比如在函数内部声明一个变量时,这个变量会被加上存在于上下文中的标记。而在上下文中的变量,逻辑上讲,永远不应该释放它们的内存,因为只要上下文中的代码在运行,就有可能用到它们。当变量离开上下文时,也会被加上离开上下文的标记。但并不是所有时候都会这么明显,垃圾回收程序必须跟踪记录哪个变量还会使用,以及哪个变量不会再使用,以便回收内存。定期的,垃圾回收期将从这个全局对象开始,找所有从这个全局对象开始引用的对象,再找这些对象引用的对象…,所以整个函数以及内部的变量都应该被回收,但根据引用计数方法,.

2022-08-03 19:30:02 98

原创 函数柯里化

柯里化是一种函数的转换,它是指将一个函数从可调用的f(a, b, c)转换为可调用的f(a)(b)(c)。把接受多个参数的函数转换成接受一个单一参数的函数。// curry(f) 执行柯里化转换 return function(a) {};};} // 用法 function sum(a , b) {// 3柯里化更高级的实现,例如lodash库的_.curry// 使用来自 lodash 库的 _.curry alert(curriedSum(1 , 2));...

2022-08-03 15:39:07 139

原创 vscode+CRA+TypeScript+eslint+prettier+stylelint+husky+lint-staged完整版配置

最近在做一个react项目,需要统一和规范代码风格,并且实现git管理,规范提交。所以基于CRA脚手架搭建项目整体框架,并自定义配置相关需求。

2022-07-25 10:38:58 696

原创 继承方式知多少

这意味着这个原型本身有一个内部指针指向另一个原型,相应地另一个原型也有一个指针指向另一个构造函数。这样就在实例和原型之间构造了一条。每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个内部指针指向原型。ES6继承是使用关键字先创建父类的实例对象this,最后在子类class中修改this。,从而实现子类可以访问到父类构造函数以及原型上的属性或者方法。同时结合原型链继承、构造函数继承,是使用最多的继承方式。通过修改父类构造函数this实现的继承。在组合继承的基础上,解决了。...

2022-07-18 16:26:45 95

原创 CSS垂直居中

的属性值,是指元素进行2D变换,元素以当前位置(0,0)按照。添加盒子内项目在纵轴上的对齐方式为。给父元素设置弹性盒子;属性定义项目在主轴上的对齐方式为居中。使用绝对定位脱离文档流;绝对定位+marginauto。绝对定位+transform。元素相对父元素绝对定位;轴的方向移动多少,按照。flex设定纵轴为主轴。​父元素设置。...

2022-07-18 15:48:56 53

原创 服务器无权限联网安装R包

之前安装包一直都需要联网,通过cran搜索install.packages(“xxx”)、github或者Bioconductor安装,但是如果没有联网权限怎么办呢?首先找到要安装的包,比如rhdf5,我在Bioconductor安装,下滑找到它的源文件,tar.gz结尾的,下载到本地。这样的字眼,这一般都是因为缺少当前安装包所需的依赖包,把这些依赖先装上,再装包就没问题了。然后把这两个包安装,在安装rhdf5就会安装成功了!解决了本地安装包的疑惑!但是,事情并非这么简单!等待一会就安装成功了!......

2022-07-18 11:24:30 417

原创 BFC(块格式上下文)

视觉格式化模型(visualformattingmodel)是用来处理文档并将它显示在视觉媒体上的机制,定义了盒(Box)的生成,盒主要包括了块盒、行内盒、匿名盒(没有名字不能被选择器选中的盒)以及一些实验性的盒(未来可能添加到规范中)。这意味着一个BFC包含创建该上下文元素的所有子元素,但不包括新创建的BFC的子元素的内部元素。它是一个封闭的黑盒子,里面元素的布局不会影响外部,反之亦然。,而根元素会创建一个BFC,创建一个新的BFC时就相当于在这个元素内部创建一个新的。的布局过程发生的区域,也是。...

2022-07-15 15:59:32 185

原创 数据结构(JS版)

选择排序选定第一个索引位置,然后和后面元素依次比较如果后面的队员, 小于第一个索引位置的队员, 则交换位置经过一轮的比较后, 可以确定第一个位置是最小的,一共进行轮(数组长度)然后使用同样的方法把剩下的元素逐个比较即可可以看出选择排序,第一轮会选出最小值,第二轮会选出第二小的值,直到最后插入排序从第一个元素开始,该元素可以认为已经被排序取出下一个元素 ,在已经排序的元素序列中从后向前扫描如果已排序的元素大于新元素 ,将已排序的元素移到下一位置重复上一个步骤,直到找到已排序的元素小

2022-07-14 16:14:34 302

原创 foreach并行化%dopar%

终于!最近在做代码优化的时候发现部分代码可以使用并行化实现,太多重复工作,于是决定使用包和包实现。话不多说,直接导入包:比传统组函数的优越之处在于,它可以通过调用操作系统的多核运行性能来执行并行任务,这样特别是对于I/O密集型任务而言,可以大大节省代码执行效率。我们来看一下用法:参数解释:注意:每次并行化是独立运行的,所以不管你什么时候、是否在全局环境中调用了某函数或者某变量等等,都需要在和中加上,当然你可以有其他的解决方案,这种是最方便的!!如果你没有做这个,你就会发现报错:找不到xxx函数!!

2022-06-29 09:45:20 1443 1

原创 异步编程async/await

使用 关键字可以让函数具有异步特征,但总体上其代码仍然是同步求值的。异步函数如果使用 关键字返回了值(如果没有 则会返回 ),这个值会被 包装成一个对象。注:异步函数始终返回对象!!await 函数返回一个 对象,可以使用 方法添加回调函数。当函数执行的时候,一旦遇到 就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。关键字会暂停执行异步函数之后的代码,使其让出 运行时的执行线程,先执行异步。单独使用的时候,放在函数前面表示这个函数是一个异步函数,如果 函数有返回结果,必须要用方法来承接(也

2022-06-17 16:40:44 2148

原创 git基操勿6

前提是使用创建了一个本地仓库。用于从现有的github上的仓库copy一个副本到本地的git仓库,类似于SVN的checkout。克隆仓库的命令格式为:这里的repo呢就是你需要clone的github仓库地址,应该很容易找到吧,找不到看下图。如果你想clone到指定的目录下,那就在最后加一个本地目录就行了,就像这样:注意下哈,这些尖括号是可以不用写的哈。显示当前的git配置信息:底下还有一大串我就不截了。。。然后开始编辑 git 配置文件:或者:设置提交代码时的用户信息:基操git流

2022-06-01 11:09:24 136

原创 Less Mixins

混合是一种将一组属性从一个规则集包含(或混入)到另一个规则集的方法,能够混合类选择器和**选择器**。假定有一个类选择器:如果希望它能在其他规则集下使用呢?可以直接调用:这样类选择器中包含的属性就同时出现在选择器和类选择器中。注意:调用中的圆括号是可选的,但将在未来的版本中被要求使用。如果你想创建一个,但是你不希望这个出现在你的输出中,那就在定义后面加圆括号。命名空间给命名空间可以减少与其他库或用户的冲突,它也是一种组织组的方法。以下三种写法等价,空格和是可选的:Guarded Namespac

2022-05-31 20:38:28 232

原创 Less变量

变量(Variables)overview相同的值在CSS中重复几十次甚至数百次并不罕见:a,.link { color: #428bca;}.widget { color: #fff; background: #428bca;}变量提供了一种从单个位置控制这些值的方法,从而使代码更容易维护。// Variables@link-color: #428bca; // sea blue@link-color-hover: darken(@link-color,

2022-05-31 17:06:17 115 1

原创 TS中对象字面量的额外属性检查

问题我们在接口中定义了两个变量类型,在函数使用中并非用上全部的变量,是一种可选属性,一种OPTION BAGS如果已定义函数的参数名称与传入接口定义不一致会发生什么呢?看以下例子:// 接口,?表示可选属性interface SquareConfig { color?: string; width?: number;}function createSquare(config: SquareConfig): { color: string; area: number } {

2022-05-20 09:07:50 700

原创 解决NODE_ENV无法在windows下运行

问题在搭建前端工程的架构中,需要在在package.json的scripts标签下配置一系列命令,如下所示:"scripts": { "build:client": "NODE_ENV=prod webpack --config ./package/client/build/webpack.prod.js", "build:server": "NODE_ENV=prod tsc --p ./package/server",},后来发现在windows环境中无法正常运行:'NODE_ENV'

2022-05-19 15:35:01 1980

原创 react的state和props知多少

一个组件的 state 中的数据可以通过 props 传给子组件,一个组件可以使用外部传入的 props 来初始化自己的 state。state 是让组件控制自己的状态,props 是让外部对组件自己进行配置。state用于组件保存、控制、修改自己的可变状态在组件内部初始化,可以被组件自身修改,而外部不能访问也不能修改,是一个局部的、只能被组件自身控制的数据源可以通过 this.setState 方法进行更新,setState 会导致组件的重新渲染props让使用该子组件的父组件可以通过

2022-05-13 09:50:38 163

原创 五分钟学会:傻瓜式保姆教学git常用基础流程

基础账号配置本地配置并存储账号用户名git config --global user.name "你的用户名"git config --global user.email "你的邮箱"查看是否配置正确及相关信息git config --global --list生成ssh密钥ssh-keygen -t rsa -C "你的邮箱"一直回车就好了,路径使用默认配置,密码不设置。这样每次git push等操作都不需要输入密码,比较方便。GitHub账号配置找到生成的ssh公钥

2022-05-12 01:08:52 182

原创 nodejs安装

官网下载安装包nodejs双击安装包按照指示安装就好了,然后cmd查看node、npm的版本,显示版本则安装成功接下来更改npm安装模块和缓存的位置,因为默认是在c盘,占空间在node.js安装目录下新建两个文件夹 node_global和node_cachecmd命令下执行如下两个命令:npm config set prefix "xxx:\node_global"npm config set cache "xxx:\node_cache"随后配置环境变量:系统变量新建.

2022-05-11 19:51:36 157

原创 vscode react代码提示和补全

无代码提示安装代码提示插件Reactjs code snippets按ctrl + ,进入设置界面,输入@tag:usesOnlineServices,勾选JSX html无自动补全按ctrl + ,进入设置界面,搜索框中输入Include Languages,添加键值对组件无自动补全搜索框中输入Trigger Expansion On Tab,打勾...

2022-05-10 09:30:17 3650 1

原创 JavaScript操作符(|、||、&、&&)

位操作符( | 和 & )var number = 2;var logic = number < 5 | number > 0; console.log(number < 5); // 结果返回 trueconsole.log(logic); // 结果返回 1结果并没有返回 布尔值,而是数值。var logic = true | true;console.log(logic); //结果返回 1可以看到结果还是返回一个数值,也就是说JavaScr

2022-05-05 09:29:44 455

原创 算法Ⅰ(设计问题)

打乱数组给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。class Solution { public: vector<int> v; Solution(vector<int>& nums) { v = nums; } vector<int> reset() { return v; } vector<int> shuffle() { vector<in

2022-05-03 13:35:56 113

原创 day01

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )当删除元素时,先判断输出栈是否有元素:如果没有元素,判断输入栈是否为空:如果输入栈也为空,返回-1,表示全都为空;如果输入栈不为空,将输入栈的元素依次弹出压入输出栈中,随后弹出输出栈栈首元素如果有元素,直接弹出栈首元素class CQueue { public:

2022-05-03 09:43:24 58

原创 03.数组中的重复数字

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。class Solution { public: //排序遍历 int findRepeatNumber(vector<int>& nums) { int n = nums.size(); sort(nums.begin(), nums.end()); for (int

2022-05-03 09:37:19 219

原创 算法Ⅰ(动态规划)

爬楼梯最简单的题了~~~class Solution { public: int climbStairs(int n) { if (n <= 2) return n; int dp[n + 1]; dp[1] = 1; dp[2] = 2; for (int i = 3; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; }};买卖股票

2022-05-02 23:33:37 259

原创 算法Ⅰ(数学)

Fizz Buzz给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。answer[i] == “Fizz” 如果 i 是 3 的倍数。answer[i] == “Buzz” 如果 i 是 5 的倍数。answer[i] == i (以字符串形式)如果上述条件全不满足。class Solution { public:

2022-04-27 20:38:44 91

原创 Vue属性和生命周期

属性name:组件的名称props:父组件传值给子组件(可以是单个值,也可以是一个对象,或者数组等)data:Vue实例的数据对象computed:称为计算属性,用来控制该组件自己的变量,该变量不在data里面声明,直接在computed里面定义,然后经过一系列的计算等操作之后,返回。所以,computed比较适合对多个变量或者对象进行处理后返回一个结果的值。如果data中的数据不改变的话,直接从缓存中获取结果;否则重新执行methods:Vue实例方法,例如:点击某个按钮执行

2022-04-27 15:56:27 155

原创 算法Ⅰ(排序和搜索)

合并两个有序数组合并两个有序数组给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。// 小技巧v

2022-04-26 21:37:28 51

原创 算法Ⅰ(二叉树篇)

定义struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), lef

2022-04-25 17:36:33 712

原创 算法Ⅰ(链表篇)

定义struct ListNode { int val; ListNode* next; ListNode(int x) : val(x), next(NULL) {}};删除链表中的节点请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。void deleteNode(ListNode* node) { node->val = node-&

2022-04-22 10:50:12 90

原创 算法Ⅰ(字符串篇)

反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。//找规律void reverseString(vector<char>& s) { int len = s.size(); for (int i = 0; i < len / 2; i++) { swap(s[i], s[len - i - 1]); }}//

2022-04-21 10:28:32 207

原创 腾讯前端暑期实习一面

面试过程大约40分钟,基本都是根据简历提问。首先简单的自我介绍,然后聊聊个人情况:你的研究方向是生物信息,为什么选择前端岗位,以及你以后的职业规划;掌握哪些编程语言,是课授还是自学。正式开始技术面试:怎么理解HTML文档流,文档是什么,流指什么;DOM树的结构;了解计数器吗;position属性的值有哪些,分别介绍一下;怎么理解闭包,可以举个例子说明吗;对于事件循环EventLoop你是怎么理解的;ES6数组的新特性;forEach用法;let、var、const的区别,以及变

2022-04-21 01:02:47 1488

原创 let与var 、变量提升

浅层理解:let 声明的变量的作用域是块级的;let 不能重复声明已存在的变量;let 有暂时死区,不会被提升。但是下面的例子:var liList = document.querySelectorAll('li') // 共5个lifor( var i=0; i<liList.length; i++){ liList[i].onclick = function(){ console.log(i) }}//依次打印5个5,for循环的小括号是一个作用域,而花括号又

2022-04-19 11:16:03 419

原创 JavaScript闭包

回顾:作用域和词法作用域:作用域就是查找变量(去哪儿找,怎么找)的一套规则。词法作用域在你写代码的时候就确定了。通过变量定义的位置就能知道变量的作用域。变量作用域分为:全局变量和局部变量。JavaScript可以在函数内部直接读取全局变量。  var n=999;  function f1(){    alert(n);  }  f1(); // 999而在函数外部自然无法读取函数内的局部变量。  function f1(){    var n=999;  }  alert(

2022-04-18 16:33:21 444

原创 C++字符、字符串、整型相互转换

string转intstringstream// string to longlong str2long(string& str){ stringstream ss; long i; ss << str; ss >> i; return i;}stoi()函数簇stoi(str) //返回intstof(str) //返回floatstod(str) //返回double...

2022-04-15 15:09:40 430

原创 算法Ⅰ(数组篇)

删除排序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。//双指针int removeDuplicates(vector<int>& nums) { int i = 0; for (int j = 1; j < nums.size(); j++) { if (nums[i] != nums[j]) nums[++i] = nums[j];

2022-04-14 21:29:07 234

原创 94.二叉树的中序遍历

二叉树的中序遍历题

2022-04-07 21:42:49 50

vscode安装包下载

vscode安装包下载

2023-08-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除