ICode9

精准搜索请尝试: 精确搜索
  • 校园内的汽车2022-08-23 13:31:12

    https://www.acwing.com/problem/content/description/1587/ 思路: 电话记录的模型,先筛选出所有符合要求的记录,之后按照题目要求做即可。 #include <iostream> #include <cstring> #include <algorithm> #include <unordered_map> #include <vector> using namespace std; st

  • 扩展kmp2022-08-23 10:32:07

    扩展kmp 扩展kmp处理的问题: 字符串S和字符串T,求S的每个后缀与T的最长公共前缀 nxt数组与kmp的不一样 char S[N], T[N]; int n, m, nxt[N], extend[N]; //nxt[i]表示从T[i]开始的后缀与T的最长公共和前缀 //extend[i]表示从S[i]开始的后缀与T的最长公共和前缀 //n,m表示S,T的长度

  • ac自动机2022-08-23 03:01:02

    模板 void insert() //建trie树 { int p = 0; for (int i = 0; str[i]; i ++ ) { int t = str[i] - 'a'; if (!tr[p][t]) tr[p][t] = ++ idx; p = tr[p][t]; } cnt[p] ++ ; } void build() { int hh = 0, tt = -1;

  • 76. 最小覆盖子串2022-08-23 01:03:50

    76. 最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。   注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串,我们

  • 社会集群2022-08-23 00:03:39

    https://www.acwing.com/problem/content/description/1599/ #include <iostream> #include <cstring> #include <algorithm> #include <vector> using namespace std; const int N = 1010; int n; vector<int> hobby[N]; int p[N]; int cn

  • 【Java基础】二维数组实现杨辉三角2022-08-22 20:03:35

    1.什么是杨辉三角 每一行头尾都为1,每个数都等于上面两个数之和 arr[3][1] = arr[2][0]+arr[2][1]; arr[3][2] = arr[2][1]+arr[2][2]; 2.实现 int[][] arr = new int[10][]; //数组元素赋值 for (int i = 0; i < arr.length; i++) { arr[i

  • 字节跳动2023年机试题2022-08-22 17:32:27

    T1 字节之和 双休在家的凯凯真的是太无聊了,他准备和他家的猫玩一个游戏。 凯凯随手写下一串 01 数列,定义这串数列的子串和为所有长度为2的子串的和。比如数列=010001,有如下长度为 2 的子串: 01 (前导0, =1) 10 00 (前导0,=0) 00 (前导0,=0) 01 (前导0,=1) 所以和为 1+10+0+0+1 = 12 如果要只是

  • HashMap 详解2022-08-22 03:30:34

    JAVA基础 1、自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。 2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。 3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

  • STL中map容器的应用(HDU1263水果题解)2022-08-21 19:03:24

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263 题目描述: Time Limit: 2000MS; Memory Limit: 65536K; 夏天来了~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况

  • [Ynoi2015] 即便看不到未来2022-08-21 02:00:19

    题传 \(O(10 n \log n)\) 能过,居然不卡常,青结了。 感觉是比较套路的一道 Ynoi 了 qwq。 首先看题目,需要找的就是一段长度为 \(1 \dots 10\) 的极长连续的(公差为 1)的等差数列,考虑暴力把一个个数丢进去,会造成怎样的结果,无非这两种情况: 无法拓展,单独成段; 连接上了在自己左右两边

  • 语句2022-08-20 19:32:24

    if...else switch var num = 1; switch(num){ case 0: console.log(0); case 1: console.log(1); case 2: console.log(2); case 3: console.log(3); } //打印3,因为没有break for while do...while continue break throw 立即停止正在执行的程序,跳转至就近的逻辑异常处理程

  • 解决Notepad++ 中写的代码粘贴到博客园中,代码对不齐问题2022-08-20 18:31:39

    在Notepad++中写代码之前,在  设置 -> 首选项..       在首选项页面上,进行如下操作,将制表符都替换为空格,就OK了     可以在 视图 -> 显示符号  ->  显示空格与制表符 勾上后,就可以看出差别了       制表符用箭头表示,在没替换之前,箭头有长有短,如下所示,正是因为有长有短

  • 55. 跳跃游戏2022-08-20 01:30:48

    55. 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。   示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3

  • OI loves Algorithm(一)——Toposort 之 Kahn2022-08-19 22:31:29

    上次我更了一个叫做 OI loves Math 的东西,那么这次我们来更算法! 当然了,这种东西我遇到啥我就更啥…… 先科普科普何谓拓扑排序。 拓扑排序指的是给你一个 DAG (Directed Acyclic Graph) ,让你排这些点,使得对于每条边 $ U \to V $ ,都存在 $ U \lt V $ 。 Kahn 算法的核心在于维护

  • 练习10:打乱一个数组2022-08-19 16:03:28

    这种解法有问题!! [12,4,16,3].sort(function() { return 5 - Math.random(); }); v8 在处理 sort 方法时,使用了插入排序和快排两种方案。当目标数组长度小于10时,使用插入排序;反之,使用快排。 通俗的说,其实我们使用 array.sort 进行乱序,理想的方案或者说纯乱序的方案是:数组中

  • leetcode264-丑数 II2022-08-19 10:34:20

    丑数 II 优先队列 维护一个优先队列。先取出最小的数字,将其乘以2、3、5,如果发现没有重复的话就装入优先队列中,需要用到set进行去重。 class Solution { public int nthUglyNumber(int n) { Set<Long> set = new HashSet<>(); PriorityQueue<Long> queue = n

  • 新手学习java笔记——运算符2022-08-19 02:00:18

    运算符 算术运算符 +,-,*,/,%,++,-- 前四位为数学的加减乘除 例: 1+2=3 2-1=1 1*2=2 2/1=1 在进行运算时要注意精度的损失和数值溢出的问题 例如int类型和int类型相乘 如果超出了int类型的数值范围,计算则会溢出,此时不会直接转化为long类型,因为计算中自动转换最低就是int类型,并且在这两个

  • 快速排序2022-08-19 00:30:43

    1. 快速排序——分治 # 算法原理: 在给定序列找到一个点x使得x左边区间数都小于x,右边区间数都大于x # 步骤: 确定分界点 随机,可以是第一个数 调整区间 使左边都小于分界点,右边都大于分界点 递归处理左右两段 递归停止的条件if(l >= r) return;即区间里没有数或只有1个数就

  • c语言中使用冒泡排序法对数组进行排序2022-08-19 00:04:43

      001、 #include <stdio.h> #define NUMBER 5 void psort(int x[], int n) { int i, j; for(i = 0; i < n - 1; i++) //冒泡排序法, 外层循环每循环一次,将最大值,移动至最左端 { for(j = n - 1; j > i; j

  • PAT Advanced 1020 Tree Traversals(25)2022-08-19 00:02:54

    题目描述: Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversal sequence of the corresponding binary tree. Input Specification: Each

  • 05 - Volatile伪共享问题与Volatile重排序问题2022-08-18 01:31:50

    为什么Volatile不能保证原子性 public class VolatileAtomThread extends Thread { private static volatile int count; public static void main(String[] args) { ArrayList<Thread> threads = new ArrayList<>(); for (int i = 0; i < 10;

  • [AcWing 166] 数独2022-08-18 00:30:56

    DFS + 剪枝 + 位运算优化 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 9, M = 1 << N; int ones[M]; // ones[i]表示i的二进制数中1的个数 int map2[M]; // map2[i]表示log_2(i) int row[N], col[N], cell[3][3]; /

  • [AcWing 1117] 单词接龙2022-08-17 13:33:46

    DFS 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 50 + 10; int n; string word[N]; int g[N][N]; // g[i][j]表示word[i]和word[j]的重合部分长度 int used[N]; // 记录单词的使用次数 int ans; void dfs(string s,

  • ubuntu 22.04安装多个gcc2022-08-16 23:30:29

    sudo apt install gcc-9 g++-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 -

  • leetcode85-最大矩形2022-08-16 23:03:16

    最大矩形 dp+单调栈 对每一层维护本列中形成的最高值height,然后对每一层分别计算最大的矩形。 计算每一层最大矩形的时候,先用单调栈记录小于当前位置的左下标和右下标,矩形面积就是(right[i]-left[i]-1) * height[i] class Solution { public int maximalRectangle(char[][]

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有