题目描述
模板题打卡
样例
blablabla
算法1
(暴力枚举)
时间复杂度
参考文献
JAVA 代码
//万能开头:
import java.util.Scanner;
import java.lang.Math;
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
import java.lang.Comparable;
import java.util.Comparator;
import java.util.Collections;
import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
import java.util.NavigableMap;
import java.util.TreeMap;
import java.util.PriorityQueue;
import java.util.Queue;
class Main{
public static class SingleListOfArray{
static int N = 100010;
int []e ;
int []ne;
int head;
int idx;
int n;
public SingleListOfArray(){
this(N);
}
public SingleListOfArray(int n){
this.n = n;
init();
}
void init(){
e = new int[n];
ne = new int[n];
head =-1;
idx = 0;
}
public void addToHead(int x){
e[idx] = x; ne[idx] = head; head = idx++;
}
/**
* k: 从1开始
*/
public void add(int k, int x){
k--; e[idx] = x; ne[idx] = ne[k] ; ne[k] = idx++;
}
/**
* k:0 表示删除头结点 下标从1开始
*/
public void remove(int k){
--k;
if(k == -1) head = ne[head];
else if(k>=0)ne[k] = ne[ne[k]];
}
public void print(String delimiter,boolean endLine){
for(int i=head;i!=-1;i=ne[i])System.out.print(e[i]+delimiter);
if(endLine) System.out.println();
}
}
static Scanner sc = new Scanner(System.in);
public static void main(String[] args){
SingleListOfArray list = new SingleListOfArray();
int m = sc.nextInt();
while(m-->0){
String op = sc.next();
if("H".equals(op)){
list.addToHead(sc.nextInt());
}else if("I".equals(op)){
list.add(sc.nextInt(), sc.nextInt());
}else if("D".equals(op)){
list.remove(sc.nextInt());
}
}
list.print(" ",false);
}
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla