方法一: 最原始,最暴力,耗时4秒,但是是最好想的思路。 生成1~9的全排列。对于每个全排列,依次枚举a,b,c的位数。枚举三个数的位数时,就相当于在9个数形成的8个空里,插入俩隔板。 所以时间复杂度大致是全排列个数9!乘以8个空里选俩的组合数:c(8,2)。 估计是10,160,640。不过按电脑 ...
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3]nums2 = [2] 则中位数是 2.0示 ...
分类:
编程语言 时间:
2020-04-24 00:57:35
阅读次数:
50
一、物理结构和概念结构 学习堆必须明确,堆有两个结构,一个是真实存在的物理结构,一个是有助于理解的概念结构。 1. 堆一般由数组实现,但是我们平时在理解堆的时候,会把他构建成一个完全二叉树结构。堆分为大根堆和小根堆:大根堆,就是这颗树里的每一个结点都是以它为根结点的树中的最大值;小根堆则与之相反。 ...
分类:
编程语言 时间:
2020-04-23 19:35:27
阅读次数:
79
以下代码输出是什么? list=['a','b','c','d','e'] print list[10:]A. []B. 程序异常C. ['a','b','c','d','e']D. 输出空 A 现有字典 d={"a":26,"g":20,"e":20,"c":24,"d":23,"f":21,"b ...
分类:
其他好文 时间:
2020-04-23 01:00:55
阅读次数:
57
题目链接:https://codeforces.com/contest/1343 A Candies 随便做做。 B Balanced Array 随便做做。 D Constant Palindrome Sum 题意:如题目的名字,给一个 $n$ 个数字的数组,要保持对称位置的和恒为常数,但是每个数 ...
分类:
其他好文 时间:
2020-04-22 09:23:49
阅读次数:
69
概述 康托展开是一个全排列到一个自然数的双射。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。 康托展开 公式 $X = a[n] (n 1)! + a[n 1] (n 2)! + a[n 2] (n 3)! ...
分类:
其他好文 时间:
2020-04-21 23:58:18
阅读次数:
109
算法描述:插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 动画演示: 一般来说,插入排序都采用in-place在数组上实现。具体算法流程如下: 1.从第一个元素开始,该元素可 ...
分类:
编程语言 时间:
2020-04-21 23:51:29
阅读次数:
59
VSCode切换中文: 打开“vscode”。按快捷键“Ctrl+Shift+P”。在“vscode”顶部会出现一个搜索框。输入“configure language”,然后回车。“vscode”里面就会打开一个语言配置文件。 Auto Close Tag 自动闭合HTML标签 Auto Impor ...
分类:
其他好文 时间:
2020-04-21 18:52:52
阅读次数:
135
定义 1.相同数据类型的有序集合 2.每个数据叫数组元素 2.通过下标,来获取特定数组元素 相当于相同数据声明、定义的简写; 声明 1.声明一个数组 dataType[] 数组名 (首选) dataType 数组名[] (少用) 在栈中操作 2.内存中分配存储单元,创建数组 数组名 = new da ...
分类:
编程语言 时间:
2020-04-21 18:03:50
阅读次数:
72
半平面交复习 计算几何易忘点 1. 叉积 a到b顺时针则为正,逆时针则为负(把a顺时针方向转到b的方向,夹角为 θ。当 0≤θ include include include include using namespace std; int read(){ int x=0,pos=1;char ch ...
分类:
其他好文 时间:
2020-04-21 10:05:12
阅读次数:
74