![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 84
D东东锵
这个作者很懒,什么都没留下…
展开
-
解码异或后的排列
Decode XORed Permutation题意给你一个整数数组 perm,它是前 n个正整数的排列,且 **n是个 奇数** 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i]=perm[i]XORperm[i+1]encoded[i] = perm[i] XOR perm[i + 1]encoded[i]=perm[i]XORperm[i+1] 。比方说,如果 perm = [1,3,2] ,那么 encoded = [2,1] 。给你 encode原创 2021-05-12 17:37:10 · 148 阅读 · 0 评论 -
零钱兑换
coin change题意给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。输入:coins =[1, 2, 5], amount =11输出:3解释:11 = 5 + 5 + 1题目分析1. 确定状态最优策略一定是是K枚硬币,a1,a2,...,aka_1,a_2,...,a_ka1,a2,...,ak组成,并且a1+a2+原创 2021-04-15 09:50:48 · 137 阅读 · 0 评论 -
最小调整代价
Minimum Adjustment Cost题意给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,调整每个数的代价为调整前后的差的绝对值,求调整代价之和最小是多少。你可以假设数组中每个整数都是正整数,且小于等于100。样例 1: 输入: [1,4,2,3], target=1 输出: 2样例 2: 输入: [3,5,4,7], target=2 输出: 1题目分析可以证明最优策略中每一个元素也一定不超过100, 否则将最优策略中小于原创 2021-03-31 11:12:44 · 175 阅读 · 0 评论 -
一文看完面试常用算法
常用的算法和工具using Array: 数组是最常用的工具排序 : 选择排序, 插入排序, 归并排序; 快速排序查找 : 二分查找数据结构 : 栈, 队列, 堆如何写出正确的程序—以二分查找为例前提 : 有序数组才可以使用二分查找1. 明确变量的含义 :2. 循环不变量:改变了取值,但是不改变含义。3. 注意边界所代表的含义,确保边界时有效的。算法在思路上可以稍加记忆来加深理...原创 2020-01-18 17:30:06 · 190 阅读 · 0 评论 -
搬桌子问题
注:原博客账号密码丢失,故将本科期间的笔记搬运至此package Test0307;//教室public class Room { //教室是否需要搬出椅子 public boolean start; //目的教室 public int end; //构造方法 Room(boolean start, int end) { ...转载 2018-12-17 21:48:03 · 1022 阅读 · 0 评论 -
LeetCode01—两数相加
题目描述主要思路取余得到当前位,取模得到进位Java实现package leetcode;public class AddTwoNumbers { /** Input: (2->4->3) + (5->6->4) Output: 7->0->8 Sample: 342 + 465 = 807 ...原创 2019-02-22 16:45:49 · 181 阅读 · 0 评论 -
LeetCode02—无重复字符的最长子串
题目描述基本思路滑动窗口利用HashSet实现利用HashMap实现Java实现HashSet public static int lengthOfLongestSubstring3(String s) { if(s == null || s.length() == 0) return 0; HashSet<Character...原创 2019-02-22 16:53:13 · 146 阅读 · 0 评论