自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面-js实现

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。/** * @param {number[]} nums * @return {number[]} */var exchange = function(nums) { let left = 0; let right = nums.length-.

2020-12-23 10:55:39 159

原创 剑指offer11 旋转数组的最小值-js实现

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2] 输出:1 示例 2:输入:[2,2,2,0,1] 输出:0有序递增数组使用二分查找法实现O(logN)时间复杂度的查找/** * @param {number[]} numbers * @return {number} */var.

2020-12-22 22:36:43 98

原创 leetcode 232 用栈实现队列-js实现

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek()返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, .

2020-12-22 22:24:52 162

原创 leetcode 225 用队列实现栈 -js实现

使用队列实现栈的下列操作:push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty这些操作是合法的。 你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 ,只要是标准的队列操作即可。 你可以假设所有操作都是有效的(例如, 对一个空的栈.

2020-12-22 22:04:48 118

原创 最小栈-leetcode 155 -js实现

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() ——检索栈中的最小元素。核心准备两个栈,一个是正常的数据栈,一个是专门放最小值的栈。同增同减 添加数的时候,如果放入data栈的数比min栈的最顶数小,同时放入min栈,否则,min栈复制一份栈顶元素。/** * initialize your data structure.

2020-12-22 21:43:48 159

原创 固定数组实现队列

let size = 0;let start = 0; //start是新去除的数所在的位置let end = 0; //end是新插入的数应放置的位置const maxLength = 3; //固定长度//start和end无关系,它俩都只和size有关系function push(arr, num) { if (size === maxLength) { throw 'queue is full'; } size++; arr[end] =

2020-12-22 21:39:40 97

原创 固定数组实现栈

let index = 0;function push(arr, num) { if (index === size) { // throw 'the stack is full'; console.log('the stack is full'); return; } arr[index++] = num;}function pop(arr) { if (index === 0) { // thro

2020-12-22 21:39:01 62

原创 leetcode-164. 最大间距-js实现

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1] 输出: 3 解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9)之间都存在最大差值 3。 示例 2:输入: [10] 输出: 0 解释: 数组元素个数小于 2,因此返回 0。 说明:你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。 请尝试在线性时间复杂度和空间复杂度的条件下解决此问题。maxG.

2020-12-22 11:39:39 142

原创 堆排序-js实现

let arr = [3, 4, 6, 7, 3, 5, 1, 8, 1, 1, 7, 5, 5, 10, 3, 2, 2];let heapInsert = (arr, index) => { //建造大根堆 let next = Math.floor((index - 1) / 2); while (arr[index] > arr[next]) { [arr[index], arr[next]] = [arr[next], arr[index]];

2020-12-21 21:05:46 133

原创 ES6-Proxy&Reflect-简单版

Proxy用于修改某些操作的默认行为, Proxy这个词的原意是代理, 用在这里表示由它来“代理”某些操作, 可以译为“代理器”。代理是使用 Proxy 构造函数创建的。这个构造函数接收两个参数:目标对象和处理程序对象。const target = { foo: 'bar'};const handler = { get() { return 'handler override'; }};const proxy = new Proxy(target, handler);proxy.

2020-12-18 18:04:41 95 1

原创 剑指offer-数组中的逆序对

数组中的逆序对逆序对:归并排序典型问题/** * @param {number[]} nums * @return {number} */var reversePairs = function(nums) { if(nums===null || nums.length<2) return 0; return m_sort(nums,0,nums.length-1);};function m_sort(nums,L,R){ if(L===R) return .

2020-12-18 18:03:05 86 1

原创 Symbol-简单版

ES6引入了一种新的原始数据类型Symbol, 表示独一无二的值。javascript已有数据类型undefined null Number String Object Boolean Symbolvar s1 = Symbol();var s2 = Symbol();s1 === s2 // falseSymbol 函数的参数只是表示对当前Symbol值的描述, 因此相同参数的 Symbol 函数的返回值也是不相等的。var s1 = Symbol("foo");var s2 = Sy

2020-12-17 11:26:45 112

原创 ES6对象的扩展-简单版

属性和方法的简写:ES6允许直接给对象写入变量和函数, 作为对象的属性和方法。 如:function getPoint(){ var x = 1; var y = 2; return {x,y};}getPoint();//{x:1,y:2}也可以直接写入方法,如:var ms = {};function getItem (key) { return key in ms ? ms[key] : null;} function setItem (key, va

2020-12-16 16:12:11 57

原创 函数的扩展-简单

ES6可以为函数指定默认值function log(x, y = 'World') { console.log(x, y);} log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // Hello函数的length属性指定了默认值以后, 函数的 length 属性, 将返回没有指定默认值的参数个数。(function (a) {}).length // 1(function

2020-12-15 22:04:43 120

原创 ES6 数组的扩展-简单版

Array.from() Array.from 方法用于将两类对象转为真正的数组://1,类似数组的对象( array-like object)//2,和可遍历( iterable) 的对象Array.of()Array.of 方法用于将一组值, 转换为数组。Array.copyWithin()在当前数组内部, 将指定位置的成员复制到其他位置( 会覆盖原有成员) , 然后返回当前数组数组实例的方法find()//用于找出第一个符合条件的数组成员它的参数是一个回调函数, 所

2020-12-15 22:03:11 80

原创 感知机算法

一,感知机算法是什么?介绍:感知机是由美国学者Fran Rosenblatt 在1957 年提出来的一种算法。感知机也是作为神经网络(深度学习)的起源的算法。感知机是一个具有输入输出的算法,给定一个输入,输出一个既定的值。原理:感知机接收多个输入信号,输出一个信号。感知机的信号只有“流/ 不流”(1/0)两种取值。在<<深度学习入门>>书中,0 对应“不传递信号”...

2019-09-30 20:12:36 4368 1

原创 中科大机试-最大公约数

做本道题是想回顾set的用法,果然生疏了。#include<bits/stdc++.h>using namespace std;int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}int main(){ int n,a; while(scanf("%d",&n)!=EOF){...

2019-03-25 16:54:38 422 1

原创 北京大学机试-子串计算

map实在是太牛逼了!用到两个东西:1,map2,string的substr()函数#include<bits/stdc++.h>using namespace std;int main(){ string s; while(cin>>s){ map<string,int> mp; for(int i=0;i<=s.length...

2019-03-25 10:57:04 198

原创 北京大学机试-二叉树

我本来想的办法,是结合深度,算法时间复杂度太大,不通过。看到这位大神的算法,让我醍醐灌顶,多么简洁高效!#include<bits/stdc++.h>using namespace std;int main(){ int x,y; while(scanf("%d %d",&x,&y)!=EOF){ while(x!=y){ if(x<y)...

2019-03-25 10:32:37 222

原创 浙江大学机试-还是A+B

#include<bits/stdc++.h>using namespace std;const int maxn = 105;int main(){ int a,b,k; int tmp_a,tmp_b; int ans; bool flag = true; while(scanf("%d %d %d",&a,&b,&k)!=EOF){ ...

2019-03-25 09:42:19 413

原创 数据结构算法4-简单选择排序

#include<bits/stdc++.h>using namespace std;int buf[8] = {49,38,65,97,76,13,27,49};void selectSort(int buf[],int n){ int i,j,k; int temp; for(i=0;i<n;i++){ k = i; for(j=i+1;j<n;j+...

2019-03-24 14:31:09 121

原创 数据结构排序算法3-快速排序

#include<bits/stdc++.h>using namespace std;int buf[8] = {49,38,65,97,76,13,27,49};void quickSort(int buf[],int low,int high){ int temp; int i=low,j=high; if(low<high){ temp = buf[low]...

2019-03-24 14:18:36 84

原创 数据结构排序算法2-冒泡排序

#include<bits/stdc++.h>using namespace std;int buf[8] = {49,38,65,97,76,13,27,49};void bubbleSort(int buf[],int n){ for(int i=1;i<n;i++){ bool flag = false; for(int j=1;j<n;j++){...

2019-03-24 14:07:05 164

原创 数据结构排序算法1-直接插入排序

#include<bits/stdc++.h>using namespace std;int buf[8] = {49,38,65,97,76,13,27,49};void insertSort(int buf[],int n){ for(int i=1;i<n;i++){ int temp = buf[i]; int j = i-1;//从i后面的第1位开始 ...

2019-03-24 12:20:53 128

原创 北邮机试-字符串操作

#include<bits/stdc++.h>using namespace std;const int maxn = 105;void swap(int buf[],int l,int r){ int left = l; int right = r; while(left<right){ int temp; temp = buf[left]; buf[...

2019-03-24 10:01:04 168

原创 北邮机试-special

题目:设一个正整数既是平方数又是立方数时,称其为special数。输入包含多组测试数据,第一行输入测试数据的组数,接着在后续每行输入n(n<= 1000000000)的时候,请输出1到n中包含的所有special数的个数。Example:Inputs:2164Outputs:12本来想的方法时间复杂度比较大,发现一位学长的这个方法,比较巧妙#include<b...

2019-03-24 09:03:33 252

原创 迪杰斯特拉算法

迪杰斯特拉算法求某单源到其他所有点的最短路径。mark[i]=true,表示源点到i的最短路径已经找到,加入集合 .dis[i] 表示源点到i点的(当前)最短路径 ,直到mark[i]=true时不再更新找到当前最短路径的点时,存入newp,并将mark[newp]=true。#include<bits/stdc++.h>using namespace std;const ...

2019-03-23 15:38:21 146

原创 华中科技大学-二叉排序树

我做本题时的一个错误就是,没有声明node *t=NULL,直接生命node *t,以为这样能默认t=NULL,结果发现并不是这样的。#include<bits/stdc++.h>using namespace std;const int maxn = 105;struct node{ node *lchild,*rchild; int data;}; node t...

2019-03-23 14:45:31 176

原创 清华大学机试-今年的第几天

经典问题。#include<bits/stdc++.h>using namespace std;int dayOfMonth[13][2] = {0,0,31,31,28,29,31,31,30,30,31,31,30,30,31,31,31,31,30,30,31,31,30,30,31,31};const int maxn = 5000;bool isYeap(int...

2019-03-23 11:21:15 584

原创 北京大学机试-加减乘除

#include<bits/stdc++.h>using namespace std;const int maxn = 105;int main(){ char str[maxn]; while(gets(str)){ int d1=0,d2=0; int len = strlen(str); char ch; int i; for(i=0;i<...

2019-03-23 10:59:25 270

原创 浙江大学机试-还是畅通工程

kruskal算法的使用。开始每个节点都是独立的根,利用并查集的思想将节点构建成树。#include<bits/stdc++.h>using namespace std;const int maxn = 105;struct E{ int w;//权值 int a; int b; };E edge[maxn];bool cmp(E x,E y){ retur...

2019-03-23 09:41:47 137

原创 北京大学机试-密码翻译

枚举即可。#include<bits/stdc++.h>using namespace std;const int maxn = 105;int main(){ char str[maxn]; while(gets(str)){ int len = strlen(str); for(int i=0;i<len;i++){ if((str[i]>...

2019-03-22 16:07:50 239

原创 北京大学机试-小白鼠排队

#include<bits/stdc++.h>using namespace std;const int maxn = 105;struct Mouse{ int w;//重量 char color[15];//颜色 };Mouse M[maxn];bool cmp(Mouse x,Mouse y){ return x.w>y.w;}int main()...

2019-03-22 15:59:54 307

原创 北邮机试-哈夫曼树的带权路径长度

构建N个节点哈夫曼树需要合并N-1次。方法一:#include<bits/stdc++.h>using namespace std;const int maxn = 105;int buf[maxn];int main(){ int n; while(scanf("%d",&n)!=EOF){ for(int i=0;i<n;i++){ sca...

2019-03-22 15:49:32 586

原创 贪心算法 -今年暑假不AC

思想:从结束最早的节目开始,这个节目结束后,找还没开始的结束最早的节目。“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王...

2019-03-22 14:32:40 112

原创 北航机试-素数

仔细。#include<bits/stdc++.h>using namespace std;const int maxn = 10005;int pnum = 0;int prime[maxn];bool mark[maxn] = {0};void find_prime(){ for(int i=2;i<maxn;i++){ if(mark[i]==tru...

2019-03-22 12:16:29 197

原创 二分求幂

求a^b,直接b次循环,当b较大时会比较慢,比如,2 ^32当求出2 ^16时,没必要再循环,直接让2 ^16自乘就可得。16推8,8推4,4推2,2推1 。距离2的14次方;13:11012的13次方,就是2的1次方2的4次方2的8次方。1,4,8分别是,13的二进制数的十进制值。所以,依次判断b的最后位是否为1,是,让ans*a,b再除以2,相当于右移一位,b/2,对应的a就得平方。...

2019-03-22 11:31:02 349

原创 清华大学机试-二叉树遍历

由给定的二叉树的前序遍历结果和中序便利结果,得到二叉树的后序遍历结果。#include<bits/stdc++.h>using namespace std;const int maxn = 1005;struct node{ char data; node *lchild; node *rchild;};node tree[maxn];int loc;char s...

2019-03-22 10:42:07 337

原创 大整数的减法

我在写代码时犯了个错误,迟迟并不能得到答案。sub函数内,给c.d[]的每一位赋值时,千万不要写成c.d[i],要写成c.d[c.len++]这样才能给c.len赋值,不然c.len=0 。#include<bits/stdc++.h>using namespace std;const int maxn = 1005;struct bign{ int d[maxn]; i...

2019-03-22 09:34:47 168

原创 大整数的加法

大整数用一个数字数组和一个数组长度表示。加法函数用加法的方法重新定义。#include<bits/stdc++.h>using namespace std;const int maxn = 1005;struct bign{ int len;//长度 int d[maxn]; //数字数组 bign(){//初始化 len = 0; memset(d,0,s...

2019-03-22 09:09:21 123

空空如也

空空如也

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

TA关注的人

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