一个月速刷leetcodeHOT100 day02

2024-05-07 22:44

本文主要是介绍一个月速刷leetcodeHOT100 day02,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天的三道题

移动零

在双指针分组里的简单题
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
输入: nums = [0]
输出: [0]

//我的做法是直接删0,后面补0
function moveZeroes(nums){//获取数组长度let len = nums.length;for(let i =0;i<len;i++){
//当数组哪个位置是0 ,就删除这个这个位置的元素,然后在末尾补 0
//从而就达到了 把所有0移动到数组末尾的要求且保持的非零元素的相对顺序
if(nums[i]==0){
nums.splice(i,1)
nums.push(0)
//当为0的元素删除后,下一个元素就会前进一位占据该位置,所以要从该位置在进行判断
i--
//当移动到末尾的元素,就不用再一次进行遍历了,所以遍历的长度要减去1位
len--}}}//排序做法
//
function moveZeroes(nums){
let j = 0;
for (let i= 0; i< nums.length; i++) {
if(arr[i] !== 0){
let temp = nums[j]
nums[j] = nums[i]
nums[i] = temp
j++
}
}
}

有效的括号

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。
    栈的简单题
var isValid = function (s) {const map = {')': '(','}': '{',']': '['};const stack = [];for (let c of s) {//如果当前字符 c 是右括号(即 map[c] 有值)if (map[c]) { const opposite = stack.pop();if (map[c] !== opposite) return false;} else {stack.push(c);}}return stack.length === 0;
};

字母异位词分组

哈希表 中等难度
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
示例 1:
输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
示例 2:
输入: strs = [""]
输出: [[“”]]
示例 3:
输入: strs = ["a"]
输出: [[“a”]]

var groupAnagrams = function(strs) {let hash = new Map()for(let i = 0; i < strs.length; i++) {// 重点就是 通过排序将字母相同的归为一类 let str = strs[i].split('').sort().join()if(hash.has(str)) {//let temp = hash.get(str)temp.push(strs[i])hash.set(str,temp)} else {// 将strs[i]存为数组 这样遇到相同字母好增加hash.set(str, [strs[i]])}}return [...hash.values()]
};

这篇关于一个月速刷leetcodeHOT100 day02的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968605

相关文章

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供

javaweb-day02-2(XML 解析 - Jaxp的sax方式解析)

Jaxp解析开发包 Sax解析方式只能做查询: Sax解析方式和DOM解析方式的区别:     在使用 DOM 解析 XML 文档时,需要读取整个 XML文档,在内存中构架代表整个DOM 树的Doucment对象,从而再对XML文档进行操作。此种情况下,如果XML 文档特别大,就会消耗计算机的大量内存,并且容易导致内存溢出。  SAX解析允许在读取文档的时候,即对文档进行处

网络编程day02(字节序、TCP编程)

目录 【1】字节序 1》大小端转换 2》端口转换   3》IP地址转换 主机字节序转换为网络字节序 (小端序->大端序) 网络字节序转换为主机字节序(大端序->小端序)  【2】TCP编程 1》流程 2》函数接口 1> socket 2> bind 3> listen 4> accept  5> recv  6> connect 7> send  3》代码展示

笔试强训day02

牛牛的快递 import matha,b = input().split()a = float(a)price = 20if a>1:price += math.ceil(a)-1if b=='y':price += 5print(price) 最小花费爬楼梯 #include <bits/stdc++.h>const int N = 1e5+10;int co

HTTP协议中的短轮询、长轮询、长连接和短连接 序言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太

HTTP协议中的短轮询、长轮询、长连接和短连接 序言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短。 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解。如果你之前不懂的话,可以帮你

蓝桥杯备赛day02:递推

斐波那契数列 #include <bits/stdc++.h>using namespace std;int main(){int n;cin>>n;int dp[n+1];dp[1]=1;dp[2]=1;for(int i = 3;i <= n;i++) dp[i] = dp[i-1]+dp[i-2];cout<<dp[n];return 0;} n = int(input())

javaWeb【day02】--(JavaScriptVue)

1 JavaScript html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过代码/js效果演示提供资料进行效果演示,通过浏览器打开,我们点击主题5按钮,页面的主题发生了变化,所以js可以让我们的页面更加的智能,让页面和用户进行交互。 1.2 引入方

代码随想录算法训练营Day02 | 209.长度最小的子数组、59.螺旋矩阵II、区间和、开发商购买土地

文章目录 209.长度最小的子数组思路与重点相关题目(TODO) 59.螺旋矩阵II思路与重点 区间和思路与重点 开发商购买土地思路与重点 209.长度最小的子数组 题目链接:209. 长度最小的子数组 - 力扣(LeetCode)讲解链接:代码随想录 (programmercarl.com)状态:回忆不起来,直接看题解了。 思路与重点 最直观的方法还是我们的暴力

libtorch---day02[第一个分类器]

参考pytorch。 加载数据集CIFAR10 因为例程中使用的是torchvision加载数据集CIFAR10,但是torchvision的c++版本提供的功能太少,不考虑使用了,直接下载bin文件进行读取加载,CIFAR10数据格式: CIFAR-10 数据集的图像数据以二进制格式存储。数据集中每张图像由以下几个部分组成: 标签 (1 byte): 表示图像所属的类别(0-9)。

python进阶篇-day02-面向对象高级

day02面向对象高级     定义类的方法 class Student:class Student():class Student(object): object => 父类名, object为所有类的父类, 顶级类       一. 继承 单继承 介绍 概述 实际开发中, 我们发现好多类中的部分内容是相似的, 或者相同的, 每次写很麻烦, 针对于这种情况,