link /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NUL ...
分类:
其他好文 时间:
2020-11-27 11:14:59
阅读次数:
5
素数判断 递归二分查找 循环二分查找 一、判断一个数是否为素数 素数:在大于1的自然数中,除了1和它本身,不再有其他因数的自然数 int checkNumber(int number) { if (number < 2) { return 0; } for (int i = 2; i < numbe ...
分类:
其他好文 时间:
2020-11-19 12:35:18
阅读次数:
7
思路 方法一:二分 遍历每个数字num,然后再在后面的数字中使用二分查找target-num。 复杂度分析 时间复杂度:O(nlogn) 空间复杂度:O(1) 1 class Solution { 2 public: 3 vector<int> twoSum(vector<int>& nums, i ...
分类:
其他好文 时间:
2020-11-19 12:17:07
阅读次数:
4
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