题意:要组装一台电脑,需要n个配件,每个配件有m 种,每种给出一个使用寿命和价格,只要有一个配件到寿命电脑就不能使用,求最大的组成电脑总花费/电脑寿命,多个最大情况下输出最小的费用。题目:https://vjudge.net/problem/Gym-102878L 题解:给的寿命是有序的,那么找一个 ...
分类:
其他好文 时间:
2020-12-31 12:21:26
阅读次数:
0
归并排序 利用递归实现分治。每次排序时间复杂度是O(N),一共需要 LogN 次。 #include <stdlib.h> #include <time.h> #define size 100 static int n[size]; static int t[size]; void msort(in ...
分类:
编程语言 时间:
2020-12-31 12:14:15
阅读次数:
0
递归实现 template<typename T> int binary_search(T arr[], int len, int left, int right, int find) { // 必要参数检查 if (NULL == arr || nullptr == arr || 0 > left ...
分类:
编程语言 时间:
2020-12-29 11:31:49
阅读次数:
0
重磅干货,第一时间送达题目合并两个有序链表题目要求输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。如输入1->3->52->4->6输出1->2->3->4->5->6解题思路可以把链表当作一个链式数组去对待,那么这道题目就有点像归并排序的思想了代码实现Python:#-*-coding:utf-8-
分类:
编程语言 时间:
2020-12-21 10:56:45
阅读次数:
0
//二分查找法 class Solution { public int minArray(int[] numbers) { //定义左、右边界 int left = 0; int right = numbers.length - 1; while(left < right){ //中间的元素 int ...
分类:
编程语言 时间:
2020-12-18 12:13:52
阅读次数:
2
Python的排序算法由Peter Tim提出,因此称为TimSort。它最先被使用于Python语言,后被多种语言作为默认的排序算法。TimSort实际上可以看作是mergeSort+binarySort,它主要是针对归并排序做了一系列优化。如果想看Python的TimSort源码,在Cpytho ...
分类:
其他好文 时间:
2020-12-17 12:27:06
阅读次数:
2
题目 方法一:动态规划 我们可以维护一个数组$dp[]$,$dp[i]$表示以$nums[i]$为结尾元素的最长上升子序列的长度。在计算$dp[i]$之前,我们已经计算出了$dp[0....i-1]$的值,考虑在$num[i]$之前的最长子序列的尾部加上$nums[i]$, $dp[j]$代表$nu ...
分类:
其他好文 时间:
2020-12-16 11:50:45
阅读次数:
4
标签 稳定排序、非原地排序、比较排序 基本思想 归并排序属于比较类非线性时间排序,号称比较类排序中性能最佳者,在数据中应用中较广。 归并排序是分治法(Divide and Conquer)的一个典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有 ...
分类:
编程语言 时间:
2020-12-14 13:39:09
阅读次数:
5
import java.util.Random; public class test { public static void main(String[] args) { // TODO Auto-generated method stub int[] a={1,4,5,7,7,7,7,8,9,12 ...
分类:
其他好文 时间:
2020-12-10 10:39:31
阅读次数:
2
二叉查找树: 优点:二分查找 缺点:最差情况变成了链表 平衡二叉树: 优点:树的高度差不超过1 缺点:每个节点存储存储的数据太少,每次从磁盘拿数据不够page的16kb,导致树的深度过大(瘦长型)。读不够 多路平衡查找树(B树):分叉数比关键字多1(通过树的合并和分裂来保证新加入的关键字的有序性) ...
分类:
数据库 时间:
2020-12-08 12:34:56
阅读次数:
9