
刷题
刷一些算法题
xuruhua
少说多做
展开
-
leetcode刷题;二十天算法计划
一、 给定一个头结点为head的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int va..原创 2021-08-26 21:45:06 · 177 阅读 · 0 评论 -
leetcode二十天练题
一、给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 class Solution { // 将数组中所有的元素求平方后,排序 public int[] sortedSquares(int[] nums) { // 求数组中所有元素的平方 int sz = nums.length; int[] tmp = new int[sz]; for(int i = 0;...原创 2021-08-23 22:34:27 · 156 阅读 · 0 评论 -
leetcode练题
题目一: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 ) 解答: class CQueue { LinkedList<Integer> stack2,stack1; public CQueue() { stack1 = new LinkedList<Integer>();.原创 2021-08-21 16:21:38 · 100 阅读 · 0 评论 -
2021-08-21给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
class Solution { public int search(int[] nums, int target) { // 方法一:这种方式不是最优解,可以采用二分查找法 // // 升序数组,从前往后比较即可 // // 拿到target所在位置的数后,返回这个数位置的序位号 // int length = nums.length - 1; // for(int i = 0;i <= length;i++.原创 2021-08-21 14:08:38 · 1869 阅读 · 0 评论 -
leetcode练题:剑指offer
一、输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public int[] reversePrint(ListNode head) {原创 2021-08-23 18:18:36 · 131 阅读 · 0 评论 -
leetcode练习
题目一:第一个版本错误: 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。 解..原创 2021-08-21 14:54:22 · 72 阅读 · 0 评论