归并排序 我终于看了归并排序了!!!其实我很久之前就准备把瑞士轮给做了,但是,我发现用STL里的sort过不了过后我就没再管它了,今天又看到了这道题,我还是决定看一看神奇的归并排序。 由于不喜欢看好多好多字,我们先放一张图(简单易懂) 我当时看到这图过后就恍pang然ran大da悟wu了,突然就懂了 ...
分类:
编程语言 时间:
2020-11-04 19:23:14
阅读次数:
85
class Solution { public: int peakIndexInMountainArray(vector<int>& arr) { int n = arr.size(); if(n==0) { return -1; } int left = 0; int right = n-1; w ...
分类:
编程语言 时间:
2020-11-04 17:43:48
阅读次数:
26
一、HashMap底层用到的数据结构 数组+单向链表+红黑树 数组:数组每一项都是一个链表,其实就是数组和链表的结合体 单向链表:当法神hash碰撞时,首先会找到数组对应位置,然后1.8采用尾插入法(1.7采用头插入法),形成一个单项链表结构 JDK1.8 红黑树:当数组中每项的链表长度大于8时,会 ...
分类:
其他好文 时间:
2020-11-01 09:28:52
阅读次数:
17
本周的学习逐渐进入了较为重要的阶段 涉及到了日后非常重要的伪代码的介绍以及一些简单算法的介绍 对于本周内容的巩固和加深是十分有必要的 第六章 低级程序设计语言与伪代码 本章的内容我在高一时就有所了解 当时参加信息竞赛时 由于不是随时都能使用电脑 伪代码这一方式就变得十分重要了 在当时 课余时间研究c ...
分类:
其他好文 时间:
2020-10-30 12:50:45
阅读次数:
14
输出n的阶乘#include<stdio.h>#include<Windows.h>#pragmawarning(disable:4996)intFact(intn){intret=1;for(inti=1;i<=n;i++){ret*=i;}returnret;}intmain(){intn=5;intresult=Fact(n);printf("%d\n
分类:
移动开发 时间:
2020-10-27 11:55:52
阅读次数:
37
题意:有长度$n$的序列,让你构造序列,使得二分查找能在$pos$位置找到值$x$.问最多能构造出多少种排列? 题解:题目给出的$pos$是固定的,所以我们可以根据图中所给的代码来进行二分,确定有多少数小于$x$和大于$x$,然后根据排列组合即可算出答案. 代码: int n,x,pos; ll f ...
分类:
其他好文 时间:
2020-10-27 11:38:34
阅读次数:
29
输出n的阶乘#include<stdio.h>#include<Windows.h>#pragmawarning(disable:4996)intFact(intn){intret=1;for(inti=1;i<=n;i++){ret*=i;}returnret;}intmain(){intn=5;intresult=Fact(n);printf("%d\n
分类:
移动开发 时间:
2020-10-27 11:34:27
阅读次数:
31
原题链接 题意简介 要求有多少种 n 的排列,能够通过二分法正确地找到放在 pos 处的数字 x。 答案对 1e9+7 取模。n<=1000。 采用的二分法如下图: 思路分析 首先,这个排列中有一个位置是固定的,就是 a[pos] = x 。 我们知道,二分查找的过程是不断缩小区间的过程,想要找到一 ...
分类:
其他好文 时间:
2020-10-26 10:58:44
阅读次数:
23
1.lambda(匿名函数) 1)当需要用到很简单的函数时,可以使用lambda;一行可定义一个函数,但是不能完成复杂的函数操作 2)语法: lambda x,y: x+y lambda后的变量为参数,冒号后面时函数体(直接return的内容) #普通函数 def func(n): return n ...
分类:
编程语言 时间:
2020-10-21 21:25:20
阅读次数:
28
前言 有些小伙伴可能会有疑惑,为什么面试总喜欢问算法与数据结构问题,这是有原因的 首先,算法能看出一个程序员的 基本功 ,数据结构与算法是计算机领域里面最最基础的学科,其他更高级的领域都或多或少都涉及到算法与数据结构,说算法与数据结构为其他计算机领域的地基也不过分。而且对于校招的小伙伴们来说,可能并 ...
分类:
编程语言 时间:
2020-10-19 23:04:59
阅读次数:
46