力扣刷题记录——1002. 查找共用字符、905. 按奇偶排序数组、 977. 有序数组的平方

news/2024/10/30 19:34:58/

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——1002. 查找共用字符、905. 按奇偶排序数组、 977. 有序数组的平方》。 

目录

1002. 查找共用字符

        题目描述

        解题思路

        解题代码 

905. 按奇偶排序数组

        题目描述

        解题思路

        解题代码 

 977. 有序数组的平方

        题目描述

        解题思路

        解题代码 


1002. 查找共用字符

题目描述

给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符),并以数组形式返回。你可以按 任意顺序 返回答案。

示例 1:

输入:words = ["bella","label","roller"]
输出:["e","l","l"]

示例 2:

输入:words = ["cool","lock","cook"]
输出:["c","o"]

解题思路

首先通过集合找到列表中元素中所有的重复元素,那么这些元素肯定是最终答案,现在就是元素出现的次数。只要数每个元素出现的次数,最小值即为最终出现的次数。

解题代码 

def commonChars(words: list[str]) -> list[str]:fin_str = ""word = "abcdefghijklmnopqrstuvwxyz"for i in range(len(words)):word = "".join(list(set(word)&set(words[i])))fin_str += wordfor i in word:result = []for j in words:result.append(j.count(i))fin_str += i*(min(result)-1)fin_list = [i for i in fin_str]return fin_list

 905. 按奇偶排序数组

题目描述

给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。

返回满足此条件的 任一数组 作为答案。

示例 1:

输入:nums = [3,1,2,4]
输出:[2,4,3,1]
解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。

示例 2:

输入:nums = [0]
输出:[0]

解题思路

遍历列表,判断奇偶性,用extend融合两个列表,返回最终结果就可以了。

解题代码 

def sortArrayByParity(nums: list[int]) -> list[int]:o = []j = []for i in nums:if i %2 == 0:o.append(i)else:j.append(i)o.extend(j)return o

 977. 有序数组的平方

题目描述

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

示例 1:

输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100]
排序后,数组变为 [0,1,9,16,100]

示例 2:

输入:nums = [-7,-3,2,3,11]
输出:[4,9,9,49,121]

解题思路

用列表生成式生成平方列表,然后对这个列表进行排序就可以了,还是比较简单的。

解题代码 

def sortedSquares(nums: list[int]) -> list[int]:result = [i**2 for i in nums]result.sort()return result

 


http://www.ppmy.cn/news/21405.html

相关文章

高阶导数——“高等数学”

各位CSDN的uu们你们好呀,今天,小雅兰的内容是高阶导数,在这之前,我们学习了导数的概念和函数的求导法则,那么今天,就让我们一起进入高阶导数的世界吧 一、高阶导数的定义 二、高阶导数的计算 1.直接法 2.间…

C语言---选择排序和堆排序

文章目录前言一、简单选择排序1.简介2.算法思路3.代码实现二、堆排序1.简介2.算法思路3.代码实现总结前言 堆排序是选择排序的一种,今天我们讲解一下堆排序和简单选择排序 一、简单选择排序 1.简介 选择排序(Selection sort)是一种简单直观…

产业互联网曾被认为是一个生搬硬凑出来的概念

有关产业互联网的质疑,依然还在耳畔会响。但,我们却无可避免地进入到了产业互联网的周期里。这听上去有些耸人听闻,却在真实地发生着。曾经,产业互联网被认为是一个生搬硬凑出来的概念,甚至还有人认为,它仅…

【链表之单链表】

前言:链表是什么? 链表的操作 1.单链表的结构 2.头文件的包含 3.动态申请一个节点 4.单链表打印 5.单链表尾插 6.单链表头插 7.单链表尾删 8.单链表头删 9.单链表查找 10.单链表在pos位置之后插入x 11.单链表在pos位置之前插入x 12. 单链表…

【Linux系统】第五篇:Linux中编译器gcc/g++的使用

文章目录一、编译工具gcc/g二、程序编译的过程🎄预处理🎄编译🎄汇编🎄链接三、动态链接和静态链接🌻动态链接🌻静态链接🌻 程序动、静态链接的区分一、编译工具gcc/g gcc/g 分别是 C/C 的编译器…

OSCP_VULHUB_Hack the Kioptrix Level-1.2

文章目录前言渗透方法论(方法一)渗透方法论(方法二)第一种sqlmap扫描&提取数据库和用户凭证ssh登录使用 SUID 位和 SUDO 二进制文件利用目标第二种方法searchsploit LotusCMS前言 Kioptrix 的 CTF 挑战:Level1.2 …

《蓝桥杯》30天拿下Python算法设计与分析【Day 13】

做你想做的,错的算我的 这里是Want595,欢迎光临我的世界 ~ 系列文章目录 《蓝桥杯》30天拿下Python算法设计与分析 目录 系列文章目录 前言 0-1背包问题 问题引入 程序设计 完全背包问题 问题引入 程序设计 总结 前言 本文介绍动态规划的…

VR视频加密SDK方案一机一码

VR视频比传统的平面视频给用户带来更好的体验,而且现在在教育、娱乐等领域VR类视频也越来越多。相比传统的视频制作,VR视频的成本要更高,所以重视VR视频的版权保护提升安全性,是很多VR内容制作商不得不考虑的问题。那么VR视频加密…