随笔分类 - 数据结构 / 练习
摘要:217. 存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums = [1,2,3,1] 输出:true 示例 2: 输入:nums = [1,2,3,4] 输出:false 示例
阅读全文
摘要:LCR_207题 回文链表 给定一个链表的 头节点 head ,请判断其是否为回文链表。 如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。 1 class Solution { 2 public boolean isPalindrome(ListNode head) { 3 Li
阅读全文
摘要:58. 最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5。
阅读全文
摘要:双指针法:设置两个指针,分别是快指针和慢指针,分别是i和j。 设置一个变量temp用来储存第一个数据nums[0] 过程:1.nums[0] temp 他们两个相等 那么temp不需要改变,i=i+1,j变,i=1,j=1 2.nums[i=1],temp 他们两个相等,temp不变,i=i+1,j
阅读全文
摘要:1.排序 1.1冒泡排序 冒泡排序,就是将相邻两个元素进行比较,如果前面那个元素和后面那个元素进行比较,如果前面元素比后者元素大,则进行交换位置。 下面举例: 由图可知,共有5个元素,进行了四轮比较,假设有n个元素,则进行n-1轮比较(外部循环)。 内部元素比较变化: 第一轮把最大的元素给去掉(下面
阅读全文
摘要:1.二分查找算法 给定的条件:给定的有序数组A查找目标值为target,其中A标记为 数组序号从0开始,其下标最大为数组长度-1. 举例数组:5 14 22 30 31 41 44 条件:i>j i表示左边下标 j表示右边下标 i从5开始 j 从44开始 思想:每次计算其中间下标的值和target值
阅读全文
摘要:1.主定理求时间复杂度 展开求时间复杂度
阅读全文