target

CMakeLists.txt的写法

好久不见. 提交于 2020-03-01 04:41:38
参考: http://blog.csdn.net/cust_hf/article/category/345853 CMakeListserv.txt的写法 (1):要求CMake根据指定的源文件生成可执行文件 Demo1: add_executable(hello main.cpp) 这将从main.cpp源码文件创建一个叫“hello”(Windows下叫“hello.exe”)的可执行文件。你可以根据自己的需要将C和C++文件混合。在同一个CMakeLists.txt可以有多个可执行文件和库。同一个源码文件可以用于不同的目的,源码可以从其他目标中为每个目的独立的编译。 Demo2: add_executable(demo main.cpp main.h main.rc) 这奖使用main.cpp源文件,main.h文件,main.rc文件构造可执行文件。至于如何使用这些文件,CMake比我们都清楚。 (2):调试CMakeLists.txt的办法 这个是调试CMakeLists.txt的一个手段啦。不得不学习哦。 演示1如下: MESSAGE("俺们正在生成项目文件") 会显示一个警告框。 演示2如下: MESSAGE(STATUS "俺们正在创建项目文件") 遇到这条指令,会把文字显示在状态栏里面(一闪而过,不容易发现)。 演示3如下: MESSAGE(FATAL_ERROR

leetcode菜狗入门 | 33. 搜索旋转排序数组

寵の児 提交于 2020-03-01 04:41:23
搜索旋转排序数组 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入 : nums = [ 4 , 5 , 6 , 7 , 0 , 1 , 2 ] , target = 0 输出 : 4 示例 2: 输入 : nums = [ 4 , 5 , 6 , 7 , 0 , 1 , 2 ] , target = 3 输出 : - 1 解题思路 看到这个时间复杂度就应该想到二分搜索,剩下主要就是情况的讨论了,根据排序数组的提示,可以判断排好顺序的是数组的那一段,然后再根据范围进行二分搜索。我觉得自己画一些分析一下情况就能分清了。本质就是二分搜素的变形。 代码(C++) class Solution { public : int search ( vector < int > & nums , int target ) { int left = 0 , right = nums . size ( ) - 1 ; int mid = 0 ; while ( left <= right ) { mid

天池数据竞赛 | 工业蒸汽量预测(完整代码分享)

帅比萌擦擦* 提交于 2020-03-01 02:26:12
BY:乔木 目录 题目描述 一、导入数据 | 观察数据 二、特征工程 三、模型训练 模型1: Lasso回归 模型2: 支持向量回归(SVR) 模型3: XGB回归(XGBRegressor ) 四、模型评估 五、模型预测 题目描述 比赛链接: 工业蒸汽量预测 赛题背景 火力发电的基本原理是:燃料在燃烧时加热水生成蒸汽,蒸汽压力推动汽轮机旋转,然后汽轮机带动发电机旋转,产生电能。 在这一系列的能量转化中,影响发电效率的核心是锅炉的燃烧效率,即燃料燃烧加热水产生高温高压蒸汽。锅炉的燃烧效率的影响因素很多,包括锅炉的可调参数,如燃烧给量,一二次风,引风,返料风,给水水量;以及锅炉的工况,比如锅炉床温、床压,炉膛温度、压力,过热器的温度等。 赛题描述 经脱敏后的锅炉传感器采集的数据(采集频率是分钟级别),根据锅炉的工况,预测产生的蒸汽量。 数据说明 数据分成训练数据(train.txt)和测试数据(test.txt),其中字段 V0-V37,这38个字段是作为特征变量,target作为目标变量。 选手利用训练数据训练出模型,预测测试数据的目标变量,排名结果依据预测结果的 MSE(mean square error)。 结果提交 选手需要提交测试数据的预测结果(txt格式,只有1列预测结果)。 结果评估 预测结果以mean square error作为评判标准。 一、导入数据 | 观察数据

Win10下tensorflow环境重装的部分网址(cudnn+Anaconda3+cuda)

こ雲淡風輕ζ 提交于 2020-02-29 18:14:31
装环境的过程太复杂了,我出现了很多问题最后才成功的,太乱了。目前在忙毕设就没整理。若有空5月份会准备上我完整的安装过程。网上也有很多安装的教程,但是不一定适合所有人,可以试试看,见招拆招吧。我装的是这几个: cudnn-10.1-win10-x64-v7.6.3.30,链接: 链接: https://pan.baidu.com/s/1YdzxXyTt02tWWxYScnoVJg 提取码: zvwv Anaconda3-5.2.0-Windows-x86_64.exe(这里面有所有的版本,找到你需要的点击即可): https://repo.continuum.io/archive/index.html cuda_10.1.243.426.00_win10.exe 链接: https://developer.nvidia.com/cuda-10.1-download-archive-update2?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal 然后按照下面深绿色的选中,就能download了。 第一次进入需要注册一下,再重新进入这个链接。就可以看到了。 这个是cuda所有的版本的网址: https://developer.nvidia.com/cuda-toolkit

Zend Framework 2 中的EventManager的使用方法

那年仲夏 提交于 2020-02-29 16:28:10
Matthew Weier O'Phinney,资深的PHP工程师。目前在Zend Technologies工作,是Zend Framework的Leader。下面的这篇文章翻译自作者的博客上的一篇文章:Using the ZF2 EventManager。 今年早些时候,我写了一篇关于Aspects, Intercepting Filters, Signal Slots, 和 Events的文章。在这篇文章中我对这三种比较相似的处理异步编程和交叉应用的策略做了比较。 我为了写那篇文章而做的研究后来被应用到了Zend Framework 2中的“SignalSlot”设计中,还有全新的“EventManager”的重构中工作中。现在在这篇文章将做进一步探讨。 目录 Assumptions(前提) Terminology(术语) Getting Started(开始) EventCollection vs EventManager(EventCollection 和 EventManager) Global Static Listeners(全局静态监听器) Listener Aggregates(监听器聚合) Introspecting Results(内省结果) Short Circuiting Listener Execution(短路监听器的执行) Keeping it in

LeetCode240.搜索二维矩阵 II

耗尽温柔 提交于 2020-02-29 16:11:32
时间复杂度是O(M+N) class Solution { public boolean searchMatrix ( int [ ] [ ] matrix , int target ) { if ( matrix . length < 1 ) return false ; int m = matrix . length ; int n = matrix [ 0 ] . length ; int i = 0 ; int j = n - 1 ; while ( i >= 0 && i < m && j >= 0 && j < n ) { if ( matrix [ i ] [ j ] > target ) { j -- ; } else if ( matrix [ i ] [ j ] < target ) { i ++ ; } else { return true ; } } return false ; } } 来源: CSDN 作者: fsdgfsf 链接: https://blog.csdn.net/fsdgfsf/article/details/104573734

组合总和 II

随声附和 提交于 2020-02-29 15:26:47
题目 :给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 解题思路 采用回溯法:采用一个stack添加一个小于目标数的数组元素,同时将目标数替换为目标数与数组元素的差。进行遍历迭代。首先采用for循环遍历数组元素,将遍历后产生的list与target作为下一次迭代的初始值,同时将当前遍历元素下表加1使数组中的元素在list中只出现一次。 代码: class Solution { public List<List<Integer>> biglist = new ArrayList<List<Integer>>(); public int[] candidates; public int len; public List<List<Integer>> combinationSum2(int[] candidates, int target) { int len = candidates.length; if (len == 0) { return biglist; } Arrays.sort(candidates); this.len = len; this

Android Makefile中是 如何识别 TARGET_PRODUCT

爷,独闯天下 提交于 2020-02-29 08:27:45
首先, 编译Android 代码 通常情况下使用: # make showcommands 这实际上等价于下面的完整命令 (具体参见 build/core/envsetup.mk ) # TARGET_ARCH=arm TARGET_PRODUCT=generic TARGET_BUILD_TYPE=release make showcommands 可见,默认情况下编译系统认为TARGET_PRODUCT 是generic 的 那如何编译特定产品的Android呢? 这就需要查看Android Makefile是如何解析环境变量TARGET_PRODUCT的。 Android Makefile 的引用关系是这样的 Makefile -> build/core/main.mk -> build/core/config.mk -> build/core/envsetup.mk -> build/core/product_config.mk 在build/core/product_config.mk 中编译系统首先调用 build/core/product.mk中定义的函数get-all-product-makefiles ,来 遍历整个vendor 的子目录, 找到vendor下所有的 AndroidProducts.mk, 不同子目录下的AndroidProducts.mk

Java算法练习——两数之和

这一生的挚爱 提交于 2020-02-29 08:26:27
题目链接 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 题解 class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++){ if (map.containsKey(target - nums[i])){ return new int[]{map.get(target - nums[i]), i}; }else{ map.put(nums[i], i); } } return null; } } 手记 利用map集合同时存储数值与序号。逐步循环,检验已录入的值是否可以符合两数相加和,满足则输出两数序号。不满足则将当期值存入map中。 附 打算准备秋招,开始算法练习。之前做项目拖了好久的博客,因为一直在边学边做

java反射与代理

馋奶兔 提交于 2020-02-29 07:52:21
Java反射机制与动态代理,使得Java更加强大,Spring核心概念IoC、AOP就是通过反射机制与动态代理实现的。 1 Java反射 示例: User user = new User(); user.setTime5Flag("test"); Class<?> cls = Class.forName("com.test.User"); //接口必须public,无论是否在本类内部使用!或者使用cls.getDeclaredMethod(),或者遍历修改可访问性 Method method = cls.getMethod("getTime5Flag"); String res1 = (String) method.invoke(user); System.out.println(res1); //涉及到基本类型如int,则使用int.class!Integer.class!=int.class! method = cls.getMethod("setTime5Flag", String.class); method.invoke(user, "Rollen"); method = cls.getMethod("getTime5Flag"); String res2 = (String) method.invoke(user); System.out.println(res2);