Tag: 算法

算法学习之设立链表的虚拟头节点

Jackey C/C++ 1,837 次浏览 ,
题目要求: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head ...

算法学习之链表反转

Jackey C/C++ 1,697 次浏览 ,
题目要求: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提...

算法学习之二分搜索树底层实现的顺序性

Jackey C/C++ 1,753 次浏览
题目要求: 给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。 如果存在则返回 true,不存在返回 false。   ...

算法学习之查找表3

Jackey C/C++ 1,903 次浏览 ,
题目要求: 给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序)。 返回平面上所有回旋镖的数量...

算法学习之查找表2

Jackey C/C++ 1,785 次浏览 ,
题目要求: 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -22...

算法学习之使用查找表的经典问题

Jackey C/C++ 1,790 次浏览 ,
题目要求: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现...

算法学习之两个数组的交集2

Jackey C/C++ 1,829 次浏览 ,
题目要求: 给定两个数组,编写一个函数来计算它们的交集。   示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[4,9] 说明: 输出...

算法学习之计算两个数组的交集

Jackey C/C++ 1,726 次浏览 ,
题目要求: 给定两个数组,编写一个函数来计算它们的交集。   示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 说明: 输出...

算法学习之滑动窗口2

Jackey C/C++ 1,606 次浏览 ,
题目要求: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。   示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbb...

算法学习之滑动窗口

Jackey C/C++ 1,853 次浏览 ,
题目要求: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 &...

算法学习之对撞指针

Jackey C/C++ 1,934 次浏览 ,
题目要求: 给定一个已按照 非递减顺序排列  的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答...

算法学习之计数排序

Jackey C/C++ 1,979 次浏览 , ,
题目要求: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。   示...

算法学习之移动零

Jackey C/C++ 1,837 次浏览
题目要求: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数...

算法学习之二分查找法

Jackey C/C++ 2,008 次浏览 ,
main.cpp #include <iostream> #include <cassert> #include <ctime> #include "MyUtil.h" using namespace std; // 二分查找法 template<typename T> int binarySearch(T arr[], int n, T targe...
Go