自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 java----搜素插入位置

问题描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置.(假设不存在重复元素) 解决思路 使用二分查找, 从前往后寻找第一个比 target 大的元素下标 l, 从后往前寻找第一个比 target 小的元素下标. 源代码 class Solution { public int searchInsert(int[] nums, int target) { int n = nums.length; .

2021-02-28 12:43:17 100

原创 java----移除给定值的元素

问题描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 解决思路 设置两个指针, 一个快指针, 一个慢指针用来, 快指针遍历数组寻找不是给定值的元素, 复制到慢指针所在位置, 直到快指针遍历完整个数组. 源代码 class Solution { public int removeElement(int[] nums, int val) { .

2021-02-28 11:41:16 86

原创 java----买牌和洗牌

问题描述 实现一个买扑克牌和洗扑克牌的问题 解决思路 创建一个类表示一张牌, 然后将牌放入顺序表中. 根据每张牌在顺序表中的下标, 与随机找的下标的牌进行交换, 实现洗牌. 源代码 一张牌 public class Card { // 点数 String rank; // 花色 String suit; public Card(String rank, String suit) { this.rank = rank; this.s.

2021-02-06 14:24:38 169 2

原创 java----找倒数第 k 个结点

问题描述 输入一个链表,输出该链表中倒数第k个结点. 解决思路 当链表中结点不为空时, 让 fast 结点先走 k 步, slow 结点在起点. 然后 fast , slow 两个结点一步一步向后走. 当 fast 为 空时, slow 所指的结点就是倒数第 k 个结点. 如果 fast 还没走到 k 步时, fast 就已经为空,则表明该链表长度太短, 不存在倒数第 k 个结点. 源代码 public class Solution { public ListNode FindKthTo.

2021-02-06 12:59:33 58

原创 java----去除有序链表中的重复结点

问题描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 解决思路 比较链表中相邻结点的值是否相等. 若相等, 直接移到下一个结点 若不等, 将该节点插入到新链表中, 新链表结点往后移动一个位置, 原链表也向后移动一个结点. 当原链表为空时, 跳出循环. 将新链表的尾结点置为 null. 源代码 public class Solution { public ListNode deleteDuplication(ListNode pHead.

2021-02-06 12:39:47 266 8

原创 java----合并两个有序链表

问题描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解决思路 创建一个新链表, 链表放一个傀儡结点, 将两个链表中的元素按升序放入新链表中. 比较两个链表中的元素, 那个小就将小的插入到新链表中, 将这个链表节点向后推一个,并将新链表的结点也向后推一个, 继续比较两个链表中的当前节点, 以此类推. 当某一个链表为空时, 退出循环, 然后将另一个链表的所有节点插入到新链表中. 源代码 class Solution { public ListN.

2021-02-06 12:06:18 107

原创 java----partition 以给定值 x 分割链表

问题描述 以给定值x为基准将链表分割成两部分. 所有小于x的结点排在大于或等于x的结点之前. 解决思路 创建两个链表, 将比 x 小的结点放在一个链表中. 将比 x 大和与 x 相等的结点放在一个链表中. 最终合并两个链表. 源代码 bs, be 分别是比 x 小的结点所在链表的头结点和尾结点. as, ae分别是大于等于 x 结点所在链表的投机诶按和尾结点. public Node<E> partition(MyLinkedList<E> head, E x) { .

2021-02-06 11:02:22 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除