D - Multiset 题目大意:给一个长度为n的数组a,有q次操作,每次输入一个数k,如果k是正数则插入a数组中,负数就删除 下标为-k的数,下标从1-n; 思路:用树状数组维护每个数前面有几个数,即是第几大,插入一个数add操作,删除用二分查找,找到那个数。 code #include <io ...
分类:
其他好文 时间:
2020-05-19 18:38:23
阅读次数:
60
题目: 第一行输入一个数字n,代表这个数字三角形一共有几行; 接下来的n行,第i行输入i个数字;//例如第三行就输入三个数字 然后寻找一条从顶部到底边的路径,是的路径上所经过的数字之和最大,路径上的每一步只能往左下走或者右下走;求出最大和。不必给出具体路径,三角形行数大于1小于100,数字为0到99 ...
分类:
其他好文 时间:
2020-05-19 17:58:54
阅读次数:
62
回顾: 在同一函数里面 写在前面的语句先执行 学完 分支 和循环语句 不一是上面的情况 /* * 输入一个数,输出其二进制 */ //先输出一个二进制数的高位 不用循环的写法 //先输出一个二进制数的高位 char c = 0x53;//0101 0011 //1次 if(c & 0x80){ // ...
分类:
编程语言 时间:
2020-05-16 09:25:11
阅读次数:
82
import java.util.*; import com.sun.org.apache.xerces.internal.util.SynchronizedSymbolTable; public class Demo13 { public static void main(String[] arg ...
分类:
其他好文 时间:
2020-05-13 20:14:20
阅读次数:
213
输入一个长度为n的数组,有以下两种操作: 1.输入一个数m,输出数组中下标1~m的 前缀和 2.对指定下标的 数值进行修改 我们有两种思路,一种是for循环累加,另一种是利用前缀和数组。两种算法多 次操作时间复杂度在O(n^2),我们不妨来用树状数组进行操作。 树状数组介绍(BIT,Fenwick ...
分类:
编程语言 时间:
2020-05-12 20:47:32
阅读次数:
103
数字具体的和 public static void main(String[] args) { while (true) { System.out.println("请输入一个数字"); Scanner sc = new Scanner(System.in); long b = sc.nextLon ...
分类:
其他好文 时间:
2020-05-06 12:26:05
阅读次数:
65
题目描述:有一个数n(1<n<10),写出1到n的全排列。 输入:第一行输入一个数n(0<n<10),表示有n组测试数据。后面的n行输入多组输入数据,每组输入数据都是一个整数x(0<x<10) 输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。 输入: 2 2 ...
分类:
其他好文 时间:
2020-05-05 23:41:25
阅读次数:
83
var arr = [1, 2, 3, 4, 9]; function insert(m) { if (m > arr[arr.length - 1]) { //进行值m与最后一个数的对比。 arr.push(m); //因为这是一个从小到大的数组,所以比最后一个大就可以在数组后加入数值 retur ...
分类:
编程语言 时间:
2020-05-05 20:08:18
阅读次数:
133
给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,单点查值。Input第一行输入一个数字 n。第二行输入 n 个数字,第 i 个数字为 ai,以空格隔开。接下来输入 n行询问,每行输入四个数字 opt、l、r、c,以空格隔开。若 opt=0,表示将位于 [l,r]的之间的数字都加 c。若 ...
分类:
其他好文 时间:
2020-04-28 12:51:43
阅读次数:
49
首先先上LeetCode今天的每日一题(面试题51. 数组中的逆序对): 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 //输入: [7,5,6,4] //输出: 5 示例1 由于题目中已经给出数组长度为: 0 <= 数 ...
分类:
编程语言 时间:
2020-04-25 00:53:36
阅读次数:
74