代码随想录算法训练营第6天| leetcode ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

duilib入门基础一 容器之 BOX、VBOX、HBOX布局及其子控件align排列方式 序 容器 duilib有以下主要布局容器 Box(自由布局容器) VBox(垂直布局容器) HBox(水平布局容器) TabBox(多标签布局容器) TileBox(格子布局容器) ChildBox(子布局容器) ScrollableBox(可滚动容器) 一、Box容器布局 Box容器及其扩展VBox HBox是其中最常用的容器。 相对Box来说,HBox, VBox更好理解些 1.1 VBox HBox VBox下的各个控件垂... 阅读详情

242. 有效的字母异位词

题目链接: 242. 有效的字母异位词 - 力扣(LeetCode)

解题思路:

int num1 = 'a'; num1的值为97

int num2 = 'b' - 'a'; num2的值为1

int num2 = 'c' - 'a'; num2的值为2

创建一个长度为26 (小写字母的个数) 的数组.

小写字母,相比字母的顺序, 对应在阿斯克码表中的值是连续递增的.

单独的字符相减得到的数字,把他们映射到数组的索引位置上,根据映射到的次数,做增加操作.这样就有了字符串s的各个字母出现的位置 和 出现次数的对应关系了.

再去遍历字符串t,映射到对应的次数,做减少次数的操作.

最后遍历数组,如果存在元素的值不为空,说明 字符串s 和t中存在字母出现的次数不一样,返回false; 否则true.

参考答案:

class Solution {

public boolean isAnagram(String s, String t) {

char[] chars1 = s.toCharArray();

int[] arr = new int[26];

for (int i = 0; i < chars1.length; i++) {

arr[chars1 [i]-'a']++;

}

char[] chars2 = t.toCharArray();

for (int i = 0; i < chars2.length; i++) {

arr[chars2[i]-'a']--;

}

for (int i = 0; i < arr.length; i++) {

if( arr[i]!=0){

return false;

}

}

return true;

}

}

349. 两个数组的交集

题目链接: https://leetcode.cn/problems/intersection-of-two-arrays/

解题思路:

java中的hashset 可以去重. 答案要求: 输出的结果,每个元素唯一,这就需要去重.

先遍历数组 nums1 ,把遍历的元素 存到hashset中,每个元素都是唯一的,已经去重了.

再遍历 nums2 , 判断遍历时的元素在 hashset 是否存在,如果存在,存入到新的集合 hashset中.

最后,把新集合 hashset 转变成数组 返回.

参考答案:

class Solution {

public int[] intersection(int[] nums1, int[] nums2) {

HashSet<Integer> hashSet = new HashSet<>();

for (int num1: nums1) {

hashSet.add(num1);

}

HashSet<Integer> hashSet2 = new HashSet<>();

for (int num2 : nums2) {

if(hashSet.contains(num2)) {

hashSet2.add(num2);

}

}

int[] array = hashSet2.stream().mapToInt(s -> s).toArray();

return array;

}

}

● 202. 快乐数

题目链接: https://leetcode.cn/problems/happy-number/

解题思路:

先提取一个需要重复执行的方法,方法内容: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,返回最后的和.

对整数n %10,获取个位数temp, 累加temp的平方 到 num 上.

在对n/10 获取 temp之前的数字,重新赋值给n. 只要n>0,就可以一直while 循环.

将返回的值,如果不存在,添加到arrayList中, 如果存在,就遇到重复值了, 就判断n==1,

返回Boolean了.

同时,在while 循环条件上 判断 返回的值是否是1,是1,原来的整数n,就是快乐数,满足条件,返回true.

否则,继续while循环,直到 遇到重复值,再做判断.

参考答案:

class Solution {

public boolean isHappy(int n) {

HashSet<Integer> hashSet = new HashSet<>();

while (n != 1 ) {

if( ! hashSet.contains(n)){

hashSet.add(n);

n = get(n);

} else {

return n==1;

}

}

return n==1;

}

public int get(int n) {

int num = 0;

while (n > 0) {

// 一个变量temp 记录每次去做平方乘法的末尾的数

// 一个变量n记录每次去除去 末尾的数 剩余的数

// 第二个变量是不断被被循环的遍历 就用n 累加和用num

int temp = n % 10;

num += temp * temp;

n = n / 10;

}

return num;

}

}

1. 两数之和

解题思路:

遍历数组, 把元素和元素对应 的索引存在hashmap 的 键和值当中.

同时,判断target 减去当前元素的差值是否在hashmap中出现,存在的话,获取当前元素和对应差值的索引,保存到数组中 ,返回.

参考答案:

class Solution {

public static int[] twoSum(int[] nums, int target) {

int[] arr = new int[2];

HashMap<Integer, Integer> hashMap = new HashMap<>();

for (int i = 0; i < nums.length; i++) {

if(hashMap.containsKey(target-nums[i])){

int num1 = hashMap.get(target - nums[i]);

arr[0]= num1;

arr[1]= i;

}

hashMap.put( nums[i],i);

}

return arr;

}

}

裸眼3D技术发展与应用前景 这项技术利用传感器或摄像头实时监测观众的位置和视角,然后根据观众的位置信息动态调整投射的图像,确保不同位置的观众都能看到一致的3D效果。这种技术不仅可以在电影院和家庭影院中应用,还可以用于虚拟现实设备和大型展览等领域。裸眼3D呈现是一种不需要佩戴任何特殊设备(如3D眼镜或头盔)即可观看到3D效果的技术。这种技术近年来得到了快速发展,为观众带来了更加沉浸式的视觉体验。总之,裸眼3D呈现技术的发展为观众带来了更加真实、沉浸式的视觉体验。随着技术的不断进步和创新,相信未来裸眼3D将会在更多领域得到应用和推广。 阅读详情

相关推荐

UG NX 12.0零基础实战:从草图绘制到三维建模全流程解析

本文详细解析UG NX 12.0从草图绘制到三维建模的全流程,适合零基础用户快速掌握这款工业设计软件。内容涵盖界面设置、基础操作、草图技巧、拉伸旋转建模、布尔运算等核心功能,并通过机械零件实战案例演示完整设计流程,帮助读者系统学习UG NX 12.0的工业设计应用。

weixin_29261711的博客 1176

代码随想录算法训练营第六天|LeetCode242.有效的字母异位词 LeetCode 349. 两个数组的交集 LeetCode202. 快乐数 LeetCode 1. 两数之和

代码随想录第五天|LeetCode242.有效的字母异位词 LeetCode349. 两个数组的交集 LeetCode202. 快乐数 LeetCode 1. 两数之和

2301_79647020的博客 2398

树莓派4B+WebRTC实现远程监控:5步搞定公网视频流传输(含Node.js配置)

本文详细介绍了如何利用树莓派4B和WebRTC技术,通过5个关键步骤搭建低延迟、高隐私的远程监控系统。重点阐述了WebRTC点对点传输相较于传统方案的优势,并提供了包含Node.js信令服务器配置、树莓派视频流捕获与推送、以及移动端自适应观看页面的完整实现方案,帮助用户实现公网视频流传输。

websocket5live的博客 292

代码随想录算法训练营第六天 | 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

题目要求输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可以不考虑输出结果的顺序!,用于记录在计算过程中出现过的数字。这是为了避免无限循环,因为如果某个数字在过程中重复出现,那么就会陷入无限循环,该数不是快乐数。遍历nums2数组,如果hashset1中有和 j 相同的元素,则添加进hashset2。中的每个元素映射成一个整数,并最终收集到一个新的整数数组中。的键是数组中的数字,值是该数字在数组中的索引。存储的是nums1数组中所有不重复的元素。,来存储已经遍历过的数字及其对应的索引。

weixin_74815669的博客 2098

TC397 EB配置ADC软件触发:从零实现周期采样与中断处理

本文详细介绍了如何在Infineon AURIX TC397芯片上使用EB Tresos工具配置ADC软件触发,实现周期采样与中断处理。通过硬件连接、EB模块配置、代码初始化及数据处理的全流程解析,帮助开发者快速掌握ADC软件触发技术,提升嵌入式系统开发效率。

root9的博客 234

Jaspersoft Studio安装与配置全攻略:从下载到首个报表生成

本文提供Jaspersoft Studio从下载、安装到创建首个报表的完整实战指南。详细介绍了如何获取安装包、配置工作空间,并通过可视化设计器创建报表模板、添加参数与字段,最终实现数据预览与PDF导出。帮助Java开发者快速掌握这一强大的开源报表工具,提升报表开发效率。

weixin_28826521的博客 704

代码随想录算法训练营day6 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和

所以此处采用unordered_set这种数据结构(可以去重)来存储nums1,再在nums1中一个个的去找nums2的元素,如果找到了就保存到result中(一个自己定义的哈希表)最后输出result即可。思路:最基本的先写出对这个数的每一位求平方和的函数,这个就不赘述了。本题呢,我就需要一个集合来存放我们遍历过的元素,然后在遍历数组的时候去询问这个集合,某元素是否遍历过,也就是 是否出现在这个集合。最后再遍历一次另一个字符串,对相应的数组的值减一,如果最后数组所有值为0,则说明是异位词。

CLINGS23的博客 1457

2022年12月机器人技术等级考试试卷(三级实操) 试题解析

2022年12月机器人技术等级考试试卷(三级实操) 试题解析

http://www.cierobot.com 1523

代码随想录算法训练营第5天|● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ●202. 快乐数● 1. 两数之和

● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ●202. 快乐数● 1. 两数之和hashtable可以用数组,集合set或者映射map来表示。使用map容器可以事半功背。

qq_36771396的博客 1709

资产会计 Transaction Type 与业务交易的 Post to Affiliated Company 不一致导致的 AAPO176:成因剖析与修复指引

本文解析了SAP资产会计中常见的"AAPO176"错误提示,指出当交易类型(TType)与业务交易(Business Transaction)的"关联公司过账"(Post to Affiliated Company)标志不一致时,系统会拒绝过账。作者详细说明了该标志的作用机制,并提供了四种解决方案:修正交易类型使用、匹配正确的业务交易、调整系统配置或建立映射关系。文章还通过实际案例展示了配置错误对集团合并报表的影响,并附带了用于检查配置一致性的ABAP脚本。该错误通常

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 398

制作3D地形图的方法-使用GlobalMapper和3ds Max软件

打开GlobalMapper软件,在菜单栏中选择“文件”>“打开数据文件”,然后选择相应的高程数据文件。在菜单栏中选择“渲染”>“渲染设置”,根据需要进行设置,如分辨率和输出格式。选择地形对象,点击菜单栏中的“渲染”>“材质编辑器”,然后根据需要调整材质属性,如颜色、纹理和光照等。在菜单栏中选择“工具”>“高程栅格和网格”>“创建地形网格”。在菜单栏中选择“文件”>“导出”>“导出栅格格式”。打开3ds Max软件,在菜单栏中选择“文件”>“导入”,然后选择之前导出的地形数据文件。步骤3:导出地形网格。

JqlScala的博客 1535

代码随想录算法训练营Day5(LeetCode242 有效的字母异位词;LeetCode349 两个数组的交集;LeetCode202 快乐数 ;LeetCode1 两数之和)

LeetCode1 两数之和))

weixin_51001256的博客 1863

openclaw-cn : 无法将“openclaw-cn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案

本文主要介绍了openclaw-cn : 无法将“openclaw-cn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案,希望能对使用openclaw-cn的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 10万+

代码随想录算法训练营day06 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和

对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。

S1mpleboz的博客 1634

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

代码随想录算法训练营第 5 天(哈希表1)| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

242.有效的字母异位词当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法数据小用数组,数据大用set,数据比较散用map。

YOLO的博客 1505

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

代码随想录算法训练营第五天| 哈希表理论基础,242.有效的字母异位词,349.两个数组的交集,202.快乐数,1.两数之和

1.首先要得到输入的整数n各位置数字的平方相加的和sum,然后再while(1)无限循环中判断sum是否为1,不为1,不为1进入set的if判断,如果这个sum不在set容器中出现过,把这个数插入到set容器中,否则表明sum在set容器中出现过,那么说明这个数按快乐数的计数规则会陷入循环中且不为1,返回false;如2,每一次计数后的值分别为4 16 37 58 89 145 42 20 4,在第9次时,会重新变为4,即进入循环。1.map容器第一个位置存放元素,第二个位置存放的才是元素下标。

Cq1123581321的博客 2562

深度学习工具包 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")

训练营第六天| 哈希表理论基础、LeetCode242.有效的字母异位词、LeetCode349. 两个数组的交集、LeetCode202. 快乐数、LeetCode1. 两数之和。

哈希表理论基础、LeetCode242.有效的字母异位词、LeetCode349. 两个数组的交集、LeetCode202. 快乐数、LeetCode1. 两数之和。

qq_64036065的博客 1148

代码随想录算法训练营Day6 | 哈希表理论基础 LeetCode 242. 有效的字母异位词 349.两个数组的交集 202. 快乐数 1.两数之和

哈希表,Hash table,也称散列表,是根据关键码的值而直接访问的数据结构。如,数组即为一张哈希表。哈希表,常用于:快速判断一个元素是否出现在集合里。,即将不同数据格式转化为不同数值,映射为哈希表上的索引数字。当存入内容数量大于哈希表大小时,若发生不同内容映射于哈希表同一索引下标的位置,即发生。和拉链法,将发生冲突的元素存储在同一索引的链表中;线性探测法,需要哈希表大小存入内容数量,发生冲突时,寻找哈希表中下一个空位来进行存放。:数组,set(集合),map(映射)

weixin_65053787的博客 1913

Python - 代码随想录算法训练营第六天|242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和

今天开始哈希表部分,以下默认各位了解哈希表。不了解的朋友请百度一下。对于这一块说的set没有弄明白,集合和字典基本忘光了。242的思路很棒,值得学习​。

m0_53503719的博客 1132

代码随想录算法训练营第六天 | Leetcode242有效的字母异位词,Leetcode349两个数组的交集,Leetcode202快乐数,Leetcode1两数之和

训练营第6天

鸽鸽鸽 1034

代码随想录算法训练营第六天 | 242.有效的字母异位词 349.两个数组的交集 202.快乐数 1.两数之和

然后判断是否为快乐数,新建一个unordered_set哈希结构存放每次正整数各个位置的平方和,如果sum=1就是快乐数,sum重复出现会陷入无限循环不是快乐数,sum为没有出现过的数新加入result中记录。步骤二:用nums2做查询操作,再用nums2遍历每一个元素去查询哈希表里,看有没有在哈希表中出现过,如果出现过放到result集合里(result集合是去重的)把遍历过的元素加到一个集合里,每次遍历一个新的位置之后,判断想要寻找的元素是否在集合里出现过。题目链接:​​​​​​​。

m0_50413530的博客 1146

代码随想录算法训练营第六天|242. 有效的字母异位词,349. 两个数组的交集 ,202. 快乐数,1. 两数之和

参考其他人方法,使用 “快慢指针” 思想,找出循环:“快指针” 每次走两步,“慢指针” 每次走一步,当二者相等时,即为一个循环周期。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。这道题目和上面基本一样,不考虑顺序,采用字典可以解决,字典索引为数组元素,索引值为元素下标。分别建立字典哈希表,索引为字符当前字符,索引值为出现次数,判断两个字典是否相等。题目中字符串只有小写字符所以字符唯一,简单思路,

weixin_43270226的博客 866

代码随想录算法训练营第六天|Leetcode242 有效的字母异位词、Leetcode349 两个数组的交集、Leetcode202 快乐数、Leetcode1 两数之和

我们知道使用哈希法时是需要查询一个元素是否出现过,或者一个元素是否在集合里的时候。当我们使用hash解决本题的时候,因此会将数组中遍历过的元素插入到hashtable中,在之后遍历其他元素的时候,正是在hashtable中查询是否在集合中存在,因此可以使用hash。(2)为什么使用本题使用对于本题而言,我们需要知道在hashtable中是否存在某个元素,同时还需要直到这个元素在原数组中的位置才能在最后将其返回,因此必须使用map。而相对于multimap和map。

Demok123的博客 1073

代码随想录算法训练营Day5 | Leetcode 242有效的字母异位词 、349两个数组的交集、202快乐数、1两数之和

快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出。如果这个过程 结果为 1,那么这个数就是快乐数。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。编写一个算法来判断一个数 n 是不是快乐数。

叽里呱啦大王的博客 1142

代码随想录算法训练营Day6 | 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

先将nums1转化为set,去重后遍历nums2查找,存在的元素添加至结果集。2.循环求sum,如果为1,return true;检验 target-nums[i]是否在map里。1.写一个求squred sum的函数;3.如果重复,return false;将nums[i]和i插入hashmap。3.字符串的差值为数组下标。1.用数组作为哈希表。

qq_24817679的博客 1899

代码随想录训练营| 力扣题目:242.有效的字母异位词 349.两个数组的交集 202.快乐数

随后创建了一个嵌套循环,大循环跳出的条件由循环内部设置,大循环内部想设计一个嵌套的循环,遍历前面处理后的字符串,进行题目要求的拆开平方再相加的操作,内部循环结束后用一个if语句判断相加后的和作为key值在map中的位置value值是否为真,因为bool类型的value默认值就是false,所以没有重复出现就时假,那么就不会跳出循环,随后将此位置的value值改为true,这样不断进行循环,直到重复后结束大循环。在代码最后盘判断重复的和是否为1,返回相应的真假。最后返回这个vector容器即可。

2301_80196447的博客 1331
上一篇: 代码随想录算法训练营第4天| leetcode ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
下一篇: 代码随想录算法训练营第7天| leetcode ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和
樊城太守
博客等级 码龄5年 0粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值