代码随想录35期Day30-Java

信息流广告ROI线性预测看板&投放分析监控看板展示&数据处理入库全流程 此看板数据量太大,在tableau public部署运行速度极慢,因此用图片作展示 数据清洗 阅读详情

Day30题目

写在前面

五一收假,并且这三道题都是选做,明天看一下吧。

LeetCode332.重新安排行程 :todo

LeetCode51. N皇后

class Solution {
    List<String> path = new ArrayList<>();
    List<List<String>> res = new ArrayList<>();
    int count = 0;
    boolean[] column = new boolean[10];
    public List<List<String>> solveNQueens(int n) {
        help(n);
        return res;
    }
    public void help(int n){
    	// count 是已经放置的皇后个数
        if(count == n){
            res.add(new ArrayList<>(path));
            return;
        }
        for(int i = 0 ; i < n ; i ++){
            if(valid(n,count,i)){
                // 构建当前值
                column[i] = true;
                char[] temp = new char[n];
                Arrays.fill(temp,'.');
                temp[i] = 'Q';
                path.add(new String(temp));
                count++;
                help(n);
                count--;
                // 使当前这一行不重复,行已经由count进行保证过了
                column[i] = false;
                path.removeLast(); 
            }
        }
    }
    // 在这里判断是否合法
    public boolean valid(int n ,int x, int y){
        if(column[y]) return false;
        // x 是第几行
        // 数学关系要推导一下
        for(int i = 0 ; i < x; i ++){
            if(y-(x-i) >= 0 && path.get(i).charAt(y-(x-i)) == 'Q') return false;
            if(y+(x-i) < n && path.get(i).charAt(y+(x-i)) == 'Q') return false;
        }
        return true;
    }
}

LeetCode37. 解数独 :todo

深度学习在传感器数据分析中的创新应用 传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。 阅读详情

相关推荐

如何评价智能座舱的好坏之指标拆分?

智慧服务实际上是有一些比较实用的功能的,常用的有后视镜自动伸展、离车自动落锁、座椅记忆等,但这部分前装率较高,各家的区分度不高,所以一级指标中占比最低(10%)。不过呢,规则里的权重仅有5%,或许是考虑到比较成熟,没有区分度。全景环视明显拔得头筹,占比85%,这对于我这种没有倒车影像不敢倒车的人,举双手赞成,但还是要看其效果,比如,现在,测评规则的颁布实际上也让我们看到,智能座舱的技术方案正走向成熟,并将走进规范化运作。,占比 60%,这与我们对座舱最直接的认知符合,

shuiqingyan的博客 1084

代码随想录-算法训练营day35(贪心算法05:无重叠区间,划分字母区间,合并区间)

贪心算法:重叠区间

weixin_61931006的博客 2557

EEGLAB合辑 | 第一节 往EEGLAB导入数据

1、学习Matlab EEGLAB图形界面建立在强大的Matlab脚本语言之上。要使用EEGLAB构建宏命令和执行自定义和自动化处理的全部功能,就需要能够在Matlab中操纵EEGLAB数据结构。由于时间限制,这个wiki没有提供关于Matlab脚本语言的介绍。相反,用户需要在开始研究之前熟悉Matlab。 2、安装EEGLAB和教程文件 首先下载包含教程数据集的EEGLAB(30MB),附下载地址。 (https://sccn.ucsd.edu/eeglab/downloadtoolbox.php) 解压

nvsirgn的博客 5134

代码随想录35期Day50-Java

0 持有股票的状态 1 没有股票的状态 2 当天卖出股票 3 前一天卖出股票,今天就是冷冻期状态。核心思想:因为有冷冻期,和之前的题目的状态就有所不同,状态的确定是很难的。核心思想:在买卖股票Ⅱ的基础上加上手续费,只有两个状态,持有或者不持有。

github_72392797的博客 241

泰克示波器TDS210改装便携示波器

泰克示波器TDS210改装编写示波器

超级网吧的博客 3079

STM32 IIC电量计LTC2944

LTC2944是一款电池电量计,设计用于端电压为3.6V至60V的多节电池。它测量电池充电和放电、电池电压、电流和自身温度。精密模拟库仑计数器通过电池正极端子与负载或充电器之间的检测电阻器对电流进行积分。电池电压、电池电流和硅温度由内部ADC测量。

baidu_34971492的博客 3161

代码随想录35期Day09-Java

核心思想:暴力之外的方法:当最长s-next刚好可以被s整除的时候,说明s就是由这么长的字串重复得到的。得到的最长next值为8,字符串长度为10,10-8=2 ,10%2 == 0;核心思想:KMP算法,比较难理解,建议找视频看,

github_72392797的博客 191

移花接木,玩转CANoe的几种扩展接口应用(五)——串口设备

近期看到粉丝朋友在CANoe自动化测试方面的关注度很大,今天就围绕这个做一个专题,总结一下以往项目上用过的几种CANoe扩展接口,分享出来希望对相关领域的网友有所帮助。本文是该专题的第五篇文章,主要讲解了串口设备的功能配置、连接方法、配置方法、调用方法,最后分析了这种扩展借口应用的特点和适用场景。

Mr.Cssust的博客 2369

代码随想录35期Day01-Java

某211大三Java选手,暑期实习投了很多很多,笔试很多,Java开发没有一个进面试,唯一进面的是第二志愿运维开发岗,一面挂。虽然对目前大环境和经济抱有怨言,但是算法是必须要刷的,没有任何捷径。之前刷过了牛客hot101,但是还差得远,题量少,也没有系统学习过算法,这肯定还敲不开大厂的门。所以,从现在开始,真正脚踏实地,去克服这些困难。种下一棵树的最好时机,一个是十年前,一个就是现在。

github_72392797的博客 448

DMC-E 系列总线控制卡----雷赛板卡介绍(十七)

低的速度平稳地接近目标位置,降低运动部件对接触点的冲击。设置插补目标位置,插补方向,以确定插补动作。圆形区域限位,即运动仅在用户设定的圆形范围内进行,超出这个范围,运动会依据设定。首先,用户需要绑定两个轴进而确定该功能所处的坐标系。仅支持平面圆形限位,不支持空间圆形限位。径,可以确定该区域在坐标系中的位置。)运动开始前,用户应当将旋转轴调整到与插补曲线的起点位置相切的角度;可以配合椭圆插补或圆弧插补运动,实现跟随轴的旋转运动角度与曲线当前。外,其它运动形式若开始运动时在限位区域外,则禁止运动;

A_nanda的博客 651

串口通信协议

文章目录前言一、串口通信结构图二、电平三、串口通信协议 前言 本文记录的是平时常用的串口通信有关知识点 提示:以下是本篇文章正文内容,下面案例可供参考 一、串口通信结构图 1、RS232标准串口通讯结构图 2、USB转串口通讯结构图 3、原生的串口到串口 二、电平 串口通信的时候,有三种电平:TTL电平、RS232电平、USB电平 TTL电平是从MCU直接出来的电平 RS323是一种通讯标准,因为高电平+15V低电平–15V电位差30V容错空间大,抗干扰能力强,一般用于工业设备直接通信电平转换芯

weixin_43772611的博客 6847

代码随想录刷题day35|柠檬水找零&根据身高重建队列&最少的箭引爆气球

【根据身高重建队列】和最【少的箭引爆气球】都不太会写,一边看题解一边抄的题解。。。

东东唯一指定铲屎官 1109

WPF数据绑定Binding对数据的转换与效验(四)

Binding的作用就是架在Source与Target之间的桥梁,数据可以在这座桥梁的帮助下来流通。就像现实世界中的桥梁会设置一些关卡进行安检一样,Binding这座桥上也可以设置关卡对数据的有效性进行检验,不仅如此,当Binding的两端要求使用不同的数据类型时,我们还可以为数据设置转换器。Binding用于数据有效性检验的关卡是它的ValidationRules属性,用于数据类型转换的关卡是它的Converter属性。

qq_30725967的博客 1627

代码随想录-Day35

该算法通过两次遍历确保了每个孩子的糖果数满足题目的两个条件,同时尽可能地减少了糖果的总消耗,是一种既直观又高效的解决方案。该算法通过先排序后构建的方法,有效地解决了队列重建的问题。排序步骤确保了在插入过程中可以直接根据人的身高和前面人数的要求找到合适的位置,而链表的特性支持了在特定位置快速插入元素,从而保证了整体的时间效率。

ToBewhatyouwannabe的博客 1080

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

代码随想录-算法训练营day60(单调栈03:柱状图中最大的矩形)

单调栈03:数组中的最大矩形

weixin_61931006的博客 675

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

代码随想录day1| leetcode704. 二分查找,35.搜索插入位置 ,27. 移除元素,977.有序数组的平方

看不懂。

weixin_44367813的博客 1065

代码随想录35期Day35-Java

核心思想:获取字母的区间,然后如果遍历,遇到哪个字母右边界大于目前右边界,就更新遍历的终点.如果遍历到终点,说明这个区间内的所有包含的字母都只出现在目前这段区间内,我本来使用的map存储每一个区间,后面优化只用存储最后出现的地方就行了。核心思想:排序区间之后,如果重叠,更新下一个区间的右边界为最小值.如果重叠了,最少移除其中一个,更新移除的那个为最小的右边界之后就不会影响到之后的区间判断。核心思想:排序后遍历,遇到相重叠的区间,将最小左边界到最大右边界存到结果集。

github_72392797的博客 270

代码随想录Day35 | 01背包问题 二维,01背包问题 一维,416.分割等和子集

动态规划经典问题dp定义:表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少状态转移方程:初始化:遍历:先遍历行,也就是先遍历物品,再遍历背包容量 01背包问题 一维 因为在二维里,的值只与左上角(上一行且左边)的值有关,所以只保存一行的值即可。状态转移方程:遍历顺序:因为要用到左上角的值,在一维里就是左边的值,所以要从后往前遍历,不然会影响到左边的值 416.分割等和子集 难点在于将问题转换为动态规划问题:然后就是背包问题的代码形式 [j]:

weixin_43992121的博客 418

代码随想录35期Day15-Java

核心思想:也是怎么遍历都行,要注意的就是判断当前节点的 left.left 和 right.right值相同,left.right和right.left值相同。使用层级遍历也是一样,下面提供层级遍历的代码。核心思想:使用先序或者后序遍历即可,在过程中进行左右子树的交换,层序也可。中序遍历注意:当你先交换左,然后交换中的时候,左子树和右子树交换了位置,接下来应该继续遍历左,否则相当于右子树没遍历。

github_72392797的博客 414

代码随想录35期Day8-Java

核心思想:这题主要要在原地完成。所以使用区间反转完成,先局部反转前length-n个,然后反转后n个,最后全部反转就完成// 先全部翻转,然后局部翻转,以 abcde,2 为例 char [ ] chars = s . toCharArray();// 反转0 到 length-1-index,就是除了后index个之外的,cbade reverseString(chars , 0 , chars . length - index - 1);

github_72392797的博客 361

代码随想录35期Day41-Java

核心思想:dp[i][j]的含义是:i个物品在j空间下的最大能携带价值,使用一个数组做滚动数组也可以,注意循环的时候空间遍历需要从后向前即可。核心思想:包装过的01背包。

github_72392797的博客 234

代码随想录35期Day07-Java

核心思想:1.使用数组存储两个数的和,然后使用hashmap从数组中取出target-sum的值,这样能达到效果,但是因为需要去重,这样得到的结果边界条件难控制并且难以去重。核心思想:将四个数组分成两组,使用HashMap存入前两个数组的两个元素的所有和,重复的就要多次计算,value存这个结果出现的次数。核心思想:这道题比较简单,只要把第二个字符串的所有字符计数,然后把第一个字符串中用到的字符减一,如果没有出现结果是负数的情况,那么就够用。核心思想:使用双指针,与三数之和类似,但是去重条件略微不同。

github_72392797的博客 332

代码随想录35期Day02-Java

数组查询使用二分查找是很好的选择数组操作使用双指针数组模拟要细心,画图照着具体数据写就不易出错。

github_72392797的博客 287

代码随想录系统性一刷总结

指针思想很重要day01 二分查找+移除元素day02 数组平方+长度最小子数组+螺旋矩阵II。

qq_44072579的博客 1048

代码随想录35期Day48-Java

核心思想:可以使用贪心,选择左边最小的和右边最大的,也可以动态规划,需要保存是否持有股票的状态,dp[i][0]表示第i天,不持有股票,dp[i][1]表示第i天持有。核心思想:也可以用贪心,只要比后一天小,就今天买,明天卖. 动态规划dp数组和上面一道题一样,只不过dp持有股票的含义略微变化。

github_72392797的博客 254

代码随想录35期Day04-Java

删除倒数第n个,那么需要把指针移动到倒数n-1个上,那么使快指针在dummyHead上,向前n次后,快慢指针同时移动,快指针结束后慢指针就在倒数n-1上。核心思想:双指针+数学关系,快慢指针可以判断是否有环,相交后使用两个指针,一个从他们相遇的位置走,一个从链表开头走,相遇的位置就是环的开头。假如A长度为8 ,B链表长度为4,那么相交部分最长为4,那么就可以从A的第五位来遍历后四位,并且每位只需要比较一次,而不用全部遍历。核心思想:感觉比较常规,使用指针不断向前走,每两个执行一次翻转,画图就相当清楚了。

github_72392797的博客 221

代码随想录35期Day11-Java

还有一种非常暴力的办法:使用Java的string的replace,每次替换一个成对的括号,使用while,如果字符串长度不减少且不为空,那说明有不匹配的括号,直接返回false(不提供代码)核心思想:使用栈,左括号入栈,右括号就去匹配栈顶元素,如果不匹配就错误,最终栈为空且没有报错说明是有效的。核心思想:数字入栈,操作符不入栈,遇到操作符就出栈两个数字进行操作,然后结果入栈,最后在栈里的数字就是结果。核心思想:入栈的时候判断栈顶是否和将入栈的字母相同,相同则删除这俩。最后的字符串是全部出栈后反转。

github_72392797的博客 268
上一篇: 代码随想录35期Day29-Java
下一篇: 代码随想录35期Day31-Java
Gohoy
博客等级 码龄4年 271粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值