"题目链接" 分析 设$dp[l][r][0]$为走过区间$[l,r]$的景点且落脚点为$l$用的最短时间,$dp[l][r][1]$为走过区间$[l,r]$的景点且落脚点为$r$用的最短时间。 则有转移: $dp[l][r][0]=min(dp[l+1][r][0]+p[l+1] p[l],dp[ ...
分类:
其他好文 时间:
2020-05-13 23:04:47
阅读次数:
90
在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 示例 1: 输入:nums = [3,4,3,3]输出:4示例 2: 输入:nums = [9,1,7,9,7,9,7]输出:1 思路:map大法好 1 class Solution { 2 pub ...
分类:
编程语言 时间:
2020-05-13 16:45:03
阅读次数:
64
List接口 List接口:元素有序,可重复,集合中每个元素都有其对应的索引。 常用实现类有:ArrayList、LinkedList、Vector。 ArrayList源码 JDK 1.7情况下: 使用空参构造器创建集合,底层创建了长度为10的Object类型数组elementData。 扩容机制 ...
分类:
其他好文 时间:
2020-05-12 20:42:59
阅读次数:
71
Vector、ArrayList使用数组存储,插入效率低;LinkedList使用链表存储,插入效率高Vector线程安全,Arraylist非线程安全,Vector比ArrayList性能低ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,
分类:
其他好文 时间:
2020-05-12 20:25:02
阅读次数:
73
给定一个单链表,求其是否可回读,即,正着读和倒着读一样。Input: 1->2->2->1Output: true 思路:一、遍历链表,将其节点的值存入动态数组中,最后对数组头尾的值遍历判别。 bool isPalindrome(ListNode* head) { vector<int> tmp; ...
分类:
其他好文 时间:
2020-05-12 16:57:00
阅读次数:
62
一、迭代器 迭代器是一种类型替换,如 每个容器类都定义了迭代器, 迭代器是一种广义指针,用来为不同的容器提供统一的接口。 举个栗子: vector::iterator pr; 此时代表的是: vector::iterator pr; 此时代表的是: 而迭代器iterator用于泛指所有类型指针。 遍 ...
分类:
其他好文 时间:
2020-05-12 13:22:23
阅读次数:
45
李超线段树模板题,要同时维护最大值和最小值,然后求交点的时候注意 double 的转换 code: #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <vector> #include ...
分类:
其他好文 时间:
2020-05-11 13:14:05
阅读次数:
85
5404. 用栈操作构建数组 这个没什么好说的 class Solution { public: vector<string> buildArray(vector<int>& target, int n) { vector<string> ans; int j=1; for(int i=0;i<ta ...
分类:
其他好文 时间:
2020-05-10 17:16:53
阅读次数:
50
圆桌问题(Vector 的应用) 题干 Problem Description 圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排 ...
分类:
其他好文 时间:
2020-05-10 12:41:30
阅读次数:
130
题目: 解答: 在无重复字符代码的基础上先对字符串进行排序,这样重复字符必然相邻,然后在回溯过程中加一句判断条件去除重复排列。 1 class Solution 2 { 3 public: 4 vector<string> permutation(string S) 5 { 6 vector<str ...
分类:
其他好文 时间:
2020-05-10 01:46:44
阅读次数:
96