这是悦乐书的第262次更新,第275篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第129题(顺位题号是561).给定一个2n个整数的数组,你的任务是将这些整数分组为n对整数,比如说(a1,b1),(a2,b2),...,(an,bn),找出每对(ai, bi)中最小值,然后相加,使得其和最大.例如: 输入:[1,4,3,2] 输出:4 说明:n为2,对的最大总和为4 = min(1,2)+ min(3,4). 注意: n是正整数,其范围为[1,10000]. 数组…
这是悦乐书的第317次更新,第338篇原创 在开始今天的算法题前,说几句,今天是世界读书日,推荐两本书给大家,<终身成长>和<禅与摩托车维修艺术>,值得好好阅读和反复阅读. 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第186题(顺位题号是796).给定两个字符串A和B,在A上进行移位操作,规则是将A最左边的字符移动到最右边去.例如,如果A ='abcde',那么在A上移位一次后,它将是'bcdea'.当且仅当A在A上移位一定次数后可以变为B时返回True.…
这是悦乐书的第316次更新,第337篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第185题(顺位题号是788).如果一个数字经过180度旋转后,变成了一个与原数字不同的数,这样的数被称为好数字.数字中的每一位都必须经过旋转.旋转的规则是:0,1,8这三个数旋转后还是自身,2旋转后变为5,5旋转后变为2,6旋转后变为9,9旋转后变为6,剩下的3,4,7旋转后并不能转成其他数字,是无效的.现在给出正数N,从1到N的好数字一共有多少个?例如: 输入:10 输出:4 说明…
这是悦乐书的第312次更新,第333篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766).如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是Toeplitz.现在给定一个M×N矩阵,当且仅当矩阵是Toeplitz时返回True.例如: 输入:矩阵= [[1,2,3,4],[5,1,2,3],[9,5,1,2]] 输出:true 说明:在上面的网格中,对角线是:"[9]","[5,5]","[1,1…
这是悦乐书的第306次更新,第325篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第173题(顺位题号是733).图像由二维整数数组表示,每个整数表示图像的像素值(从0到65535).给定表示泛洪填充的起始像素(行和列)的坐标(sr,sc)和像素值newColor,进行"泛洪填充"图像. 要执行"泛洪填充",请考虑起始像素,以及与起始像素相同颜色的起始像素4向连接的任何像素,以及与这些像素4向相连的任何像素(也使用与起始像素),依此类推…
这是悦乐书的第282次更新,第299篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第150题(顺位题号是661).给定表示图像灰度的2D整数矩阵M,您需要设计一个平滑器以使每个单元的灰度变为所有8个周围单元及其自身的平均灰度(向下舍入).如果一个单元的周围单元少于8个,那么尽可能多地使用单元.例如: 输入:[[1,1,1],[1,0,1][1,1,1]] 输出:[[0,0,0],[0,0,0],[0,0,0]] 说明: 对于点(0,0),(0,2),(2,0),(2…
这是悦乐书的第300次更新,第319篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第168题(顺位题号是707).设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点.假设链表中的所有节点都是 0-index 的.在链表类中实现这些功能: get(index):获取链表中第 index…
这是悦乐书的第299次更新,第318篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第167题(顺位题号是706).在不使用任何内置哈希表库的情况下设计HashMap.具体而言,你的设计应包括以下功能: put(key,value):将一个(key,value)对插入HashMap.如果该值已存在于HashMap中,请更新该值. get(key):返回指定键映射到的值,如果此映射不包含键的映射,则返回-1. remove(key):如果此映射包含键的映射,则删除值键的…
这是悦乐书的第298次更新,第317篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第166题(顺位题号是705).不使用任何内建的hash表库设计一个hash集合,应包含以下功能: add(value):向哈希集合中插入一个值. contains(value) :返回哈希集合中是否存在这个值. remove(value):将给定值从哈希集合中删除.如果哈希集合中没有这个值,什么也不做. 例如: MyHashSet hashSet = new MyHashSet();…
这是悦乐书的第297次更新,第316篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第165题(顺位题号是704).给定n个元素的排序(按升序)整数数组nums和目标值,编写一个函数来搜索nums中的目标.如果target存在,则返回其索引,否则返回-1.例如: 输入:nums = [-1,0,3,5,9,12],目标= 9 输出:4 说明:9存在于nums中,其索引为4 输入:nums = [-1,0,3,5,9,12],target = 2 输出:-1 说明:2在…