hs

[19]-容器(集合)_Set

与世无争的帅哥 提交于 2020-03-17 11:03:22
Set 唯一 无序 有相同的元素就不在添加了 底层数据结构是哈希表 存放自定义类型时需要重写hashCode()方法级equals()方法 Hash表原理 /*** (1)调用hashCode()方法计算Hash码值 (2)根据y=k(x)这样的函数计算存储位置 (3)如果位置上没有元素,则将元素存储 (4)如果该位置上有元素,则需调用equals方法比较内容是否相同 */ 使用api大致和map相同 要注意的是 存放自定义类型时需要重写hashCode()方法级equals()方法 package com . lin . map ; import java . util . HashSet ; import java . util . Iterator ; public class TestHashSet { public static void main ( String [ ] args ) { //HashSet底层数组结构使用的是hash表 ,主结构数组, +链表 //创建集合对象 HashSet hs = new HashSet ( ) ; hs . add ( "hello" ) ; System . out . println ( hs . add ( "world" ) ) ; hs . add ( "java" ) ; System . out .

MIPI CSI 正确图像信号参考图-----用于调试参考对照使用

喜欢而已 提交于 2019-12-21 02:05:45
前言 1. 由于MIPI CSI 差分信号是高速信号,随着图像的分辨率和帧率的提高,CSI的时钟速率也越来越越高,动辄就上Gbps,所以示波器难以测量,很难通过示波器测量来确认图像的每一帧、每一行是否正确; 2. 但是至少可以保证CSI信号的整体信号大致正确,比如 LP、HS电压,帧率等,通过大致的排除一些硬件原因,避免不必要的调试; 然后再通过主板的MIPI DPHY来判断图像的数据正确性 MIPI CSI常见问题 1. 最直观的就是LP、HS电压不对,正常LP是0 V和1.2V,HS是200mV; 有时由于转接板做的时候,接口部分接地部分没焊接好,就会导致电压不对,最终无法接收数据 2. LP、HS 切换时,各种延时要求和MIPI CSI协议对不上,这时候就需要通过示波器来测量各种 延时要求的具体时间,一般示波器都是可以测到的; 注: 这种 情况一般都是各个主控芯片的MIPI DPHY做的有些差异性,导致无法兼容适配每个 camera的CSI时序要求,这时候就需要 针对不同的camera进行CSI时序调整 标准测试的MIPI CSI信号图 以下是可以正确采集到图像的CSI 信号图 1. 时钟lane 2.数据lane 帧间隔 一帧图像数据信号 行间隔 一行图像数据信号 触发模式下捕捉LP状态,HS开始 HS结束 来源: CSDN 作者: free文 链接: https:/

JSOI2016 独特的树叶

a 夏天 提交于 2019-12-06 14:30:49
JSOI 2016 独特的树叶 题面描述 有两颗大小分别为 \(n\) 和 \(n+1\) 的树,问删除后者的一个叶子,两者能否同构。如果能,输出最小的叶子标号使得删去这个叶子两者同构。 数据范围: \(n\le 10^5\) 思路 用一些玄学方法把第一棵树每个点及其子树 \(hash\) 起来,再 \(up-down\) 一下,求出每个点作为根这整棵树的 \(hash\) 值,存入 \(map\) 中。 再用类似的方法操作第二棵树即可。 关于树哈希的方法,建议使用异或,这样不仅撤销方便,而且无视顺序,无需排序。 代码 #include<bits/stdc++.h> #define pii pair<int,int> #define mkp(x,y) make_pair(x,y) #define go(x) for(int i=head[x];i;i=edge[i].nxt) #define now edge[i].v using namespace std; const int sz=1e5+7; const int p1=1e8+7; const int p2=998244353; const int q1=52437; const int q2=9813475; int n; int ans; int u,v,cnt; int r[sz]; int siz[sz]; int

linux shell中使用sed命令

佐手、 提交于 2019-12-04 11:04:50
例1:批量的将变量的值代替指定文件中的指定内容。 #!/bin/bash for i in {1..100} mgr_port=`expr $i + 5345` data_port=`expr $i + 6345` site_id=$i `sed -i "s/5347/$mgr_port/g" dmhs.hs` `sed -i 's/6347/'$data_port'/g' dmhs.hs` `sed -i s/2222/$site_id/g" dmhs.hs` `sed -i "s/5347/$mgr_port/g" dmhs.hs` #`eval sed -i 's/6347/$data_port/g' dmhs.hs` done 例2: 删除: $ sed '2d' dmhs.hs --删除dmhs.hs文件的第二行。 $ sed '2,$d' dmhs.hs ---删除dmhs.hs文件的第二行到末尾所有行。 $ sed '$d' dmhs.hs ---删除dmhs.hs文件的最后一行。 $ sed '/test/'d dmhs.hs ---删除dmhs.hs文件所有包含test的行。 替换: $ sed 's/test/mytest/g' dmhs.hs --在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。 $

Oracle透明网关访问MySQL数据库

匿名 (未验证) 提交于 2019-12-02 22:06:11
针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数据库dblink访问。 好久没做透明网关的配置了,最近有业务需求,这里将部署过程做个记录,希望对有需要的朋友有所帮助。 一、Oracle数据库通过透明网关访问MySQL数据库环境说明 RHEL6.6 MySQL5.7 odbc 二、数据访问流程 oracle――dg4odbc――odbc――mysql 三、Oracle透明网关(MySQL)安装 oracle 11.2.0.4默认安装了odbc透明网关 验证: [oracle@test ~]$ cd $ORACLE_HOME/hs [oracle@test hs]$ dg4odbc Oracle Corporation --- FRIDAY APR 27 2018 10:07:44.375 Heterogeneous Agent Release 11.2.0.4.0 - 64bit Production Built with Oracle Database Gateway for ODBC 四、mysql-connector安装 下载: https://dev.mysql.com/downloads/connector/odbc/

HDU - 5741 Helter Skelter 扫描线 + 树状数组

强颜欢笑 提交于 2019-11-29 12:00:35
HDU - 5741 我们枚举段的起点和终点, 那么每一种情况0的范围是[lx, rx], 1的出现范围是[ly, ry], 可以在二维平面上用矩形表示。 然后问题就变成了询问点有没有被至少一个矩形覆盖, 扫描线 + 树状数组就可以了。 #pragma GCC optimize(2) #pragma GCC optimize(3) #include<bits/stdc++.h> #define LL long long #define LD long double #define ull unsigned long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pair<int, int> #define SZ(x) ((int)x.size()) #define ALL(x) (x).begin(), (x).end() #define fio ios::sync_with_stdio(false); cin.tie(0); using namespace std; const int N = 3e6 + 7; const int inf = 0x3f3f3f3f; const

Iterator -迭代器

天大地大妈咪最大 提交于 2019-11-29 08:28:42
1 package cn.learn.collection; 2 3 import java.util.Collection; 4 import java.util.HashSet; 5 import java.util.Iterator; 6 7 /* 8 java.util.Iterator 9 迭代器:主要用于遍历访问collection,遍历前都会先判断集合是否为空 10 11 Iterator的对象 也被称为迭代器 12 Iterator是一个接口,需要使用Iterator接口的实现类对象 13 获取方法比较特殊,Collection中有个iterator()方法,返回的是Iterator的实现类 14 15 先用hasNext()判断有无元素,返回一个Boolean,再用next(),取出元素 16 */ 17 public class IteratorApi { 18 public static void main(String[] args) { 19 Collection<String> hs= new HashSet<>(); 20 hs.add("ni"); 21 hs.add("nn"); 22 hs.add("n1"); 23 hs.add("n1"); 24 hs.add("n2"); 25 System.out.println(hs); //[nn

WC 2008 观光计划(斯坦纳树)

馋奶兔 提交于 2019-11-28 02:40:46
题意 https://www.lydsy.com/JudgeOnline/problem.php?id=2595 思路 是一道比较裸的斯坦纳树呢~ 题意等价于选出包含一些点的最小生成树,这就是斯坦纳树的功能。 举个例子,给定 \(n\) 个点,其中 \(k\) 个点被称作关键点, \(m\) 条带权边,求原图的一个权值最小的子图,这张子图图为包含这 \(k\) 个点的树。 我们定义 \(dp[i][j]\) 为关键点集合 \(i\) 与任意节点 \(j\) 连通的最小权的树。考虑转移这个 \(dp\) 数组,比较显然的是以下的子集划分: \[ dp[i][j]=\min(dp[k][j]+dp[i\setminus k][j]) \] 其中 \(k\) 是 \(i\) 的子集。 当然这样转移是不够的,在关键点集合 \(i\) 不变的情况下, \(j\) 有可能会发生改变,即发生如下转移: \[ \text{chk_min}(dp[i][k],dp[i][j]+w(j,k)) \] 其中 \(w(j,k)\) 为一条 \(j\) 指向 \(k\) 的边的边权。不难发现,这个过程和最短路的松弛操作是一样的,那么就可以利用最短路进行转移,没有负边就跑 \(\text{dijkstra}\) ,否则跑 \(\text{spfa}\) 。 这道题求的东西略微不同,是点有点权,不过无所谓

LinkedHashSet 和 不重复随机数

会有一股神秘感。 提交于 2019-11-27 21:46:33
1.LinkedHashSet 的概述和使用   llinkedHashSet 的特点: 是唯一能保证怎么存就怎么输出的 set 集合 1 LinkedHashSet<String> linkSet = new LinkedHashSet<>(); 2 /* LinkedHashSet可以保证元素唯一,并且可以保证有序(怎么存,就怎么取) */ 3 linkSet.add("f"); 4 linkSet.add("a"); 5 linkSet.add("b"); 6 linkSet.add("c"); 7 linkSet.add("c"); 8 linkSet.add("d"); 9 linkSet.add("e"); 10 // 增强for循环遍历LinkedHashSet 11 for (String s : linkSet) { 12 System.out.print(s + " "); 13 }       //输出结果为:f a b c d e 2.产生10个1~20个随机数,要求不能重复 1 HashSet<Integer> hs = new HashSet<>(); //创建集合对象 2 Random r = new Random(); //创建随机数对象 3 while(hs.size() < 10) { 4 int num = r.nextInt(20) + 1;

剑指offer:顺时针打印矩阵

瘦欲@ 提交于 2019-11-27 07:39:11
题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 解题思路 往res中放入【左到右】的值; 往res中放入【上到下】的值; 往res中放入【右到左】的值; 往res中放入【下到上】的值; 需要设置好边界,这份代码有些案例会多出来一些值,但return res[:w*h] #len(matrix) 就可以。 # -*- coding:utf-8 -*- class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(self, matrix): # write code here res=[] if len(matrix)==0: return res elif len(matrix)==1: return matrix[0] elif len(matrix)==2: res.extend(matrix[0]) res.extend(matrix[1][::-1]) return res w = len(matrix[0]) h = len(matrix) hs=0 ws=0 for i in range(int