写点什么

ARTS 打卡第 1 周

作者:Johnson
  • 2023-08-20
    江苏
  • 本文字数:1676 字

    阅读完需:约 5 分钟

ARTS 打卡第 1 周

1.A-algorithm

一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数?

public class HelloAlg {    public static void main(String[] args) {        int [] arr = {2,3,3,4,5,5,4,4,4};        printOddTimesNum(arr);    }

public static void printOddTimesNum(int[] arr){ if(arr==null || arr.length==1){ return ; } int eor = 0; for(int a: arr){ eor = eor ^ a; } System.out.println(eor); }}
复制代码

一个数组中有两种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这两种数?

public static void printOddTimes2Num(int[] arr){    if(arr == null || arr.length < 2){        return ;    }    int eor=0;    //得到A^B的值    for(int a : arr){        eor = eor ^ a;    }    //由于2个不同的数,所以可找到最右为1的位 eg: 0100    int RightOne = eor & (~eor + 1);
int r1 = 0; for (int a: arr){ if((a & RightOne) == 0){ //注意这里不是1。eg:0010 r1 = r1^a; } } System.out.println(r1);
int r2 = r1 ^ eor; System.out.println(r2);}
复制代码



2.R-read a aritical

最近在做图数据库方面的开发,读了 Medium 上一篇用 Neo4j 结合开源数据集 OpenStreetMap,和 Leeflet.js 构建一个路径选择的 web APP。

点评

    1).这篇文章对细节讲得很详细,如果时间允许,可以跟着文中的步骤一步一步实现,使用的是 python 开发。

    2).和很多国内的图数据库厂家交流,目前应用比较成功的有金融、公安,但是与地图相结合的应用案例很少,本文比较有新意。

    3).图数据库的建模是非常重要的,本文结合 OpenSteetMap 开源数据库,给出了一个地图应用方面的建模方法。


OpenSteetMap 中定义的数据模型就是一个图:

Nodes — point features, 点特征

Ways — line features that connect nodes,连接点的线要素

Tags — arbitrary key-value pair attribute data describing a feature.描述特征的属性数据的任意键值对

Relations — organize multiple ways (or nodes) into a larger entity.将多种线(或节点)组织成的一个更大的实体。

文中将 OSM 的 节点、路径、关系和标签建模为图中的节点。把道路交叉口建模为图中的节点,并将连接交叉口的路段建模为关系,并将交叉点的纬度/经度位置存储为 Point 类型节点属性,将路段的相关信息存储为关系属性,最后使用了图算法进行加权路径的搜索,并使用 Leaflet.js 和 OpenStreetMap 地图图块渲染底图

4).文章有个留言很有启发,他用地图做了一个应用用来标示哪些车位可以共享,哪些车位被占用了。


3.T-share a little technology

Spring 整合 Junit,配置步骤(注意:当我们使用 spring 5.x 版本的时候,要求 junit 的 jar 必须是 4.12 及以上)

step1.先导入 spring 整合 junit 的 maven 坐标

 <dependency>        <groupId>org.springframework</groupId>        <artifactId>spring-test</artifactId>        <version>5.0.2.RELEASE</version>    </dependency>
复制代码

step2:使用 junit 提供的一个注解(@Runwith)把原有的 main 方法替换成 spring 提供的 main 方法

该注解的功能是替换 Runner(运行器)

step3.告知 spring 的运行器,spring 和 ioc 创建是基于 xml 还是注解的,并且说明位置

使用 @ContextConfiguration 注解说明

    locations:

            指定 xml 文件的位置,加上 classpath 关键字,表示在类路径下

    classes:

            指定注解类所在地位置




4.S-分享一个观点

人工智能是当前最好的计算机专业吗?AI 本身的内容博大精深,但可惜很少有学校/学院有师资能把这里面的东西融会贯通。提早炼丹容易走火入魔,自毁前程。多花时间把数理基础打好,提升编程能力。比如通过自学 Oppenheim’s signals and systems 课本,基本支撑了我对这个世界最初的量化认知。以及后来的 Gonzalez’s digital image processing,现在做 CV 的一些小朋友可能连这都没听过/读过。


#ARTS 打卡计划#

用户头像

Johnson

关注

还未添加个人签名 2019-08-15 加入

还未添加个人简介

评论

发布
暂无评论
ARTS 打卡第 1 周_ARTS 打卡计划_Johnson_InfoQ写作社区