算法设计和分析
主要是算法类问题
执于代码
职业画像详情:https://github.com/xiamaocheng,
其他:https://www.infoq.cn/profile/8E8D58FE040264/publish
展开
-
Leetcode 120 Triangle java实现
题目:给定一个三践行,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如:给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为11(2 + 3 + 5 + 1 = 11)solution:public int minimumTotal_1(List<List<Integer>> t...原创 2020-03-24 12:05:58 · 243 阅读 · 0 评论 -
Leetcode_动态规划
题目:原题链接在这里:https://leetcode.com/problems/longest-string-chain/最长字符串链。给一个单词列表,找一个词链,使得词链后一个单词由前一个单词增加一个字符得到,求最长词链长度。解答:1、根据词链的定义,短的单词可以由长的单词减去单词中一个字符得到。因此可以先对单词列表,按照单词的长度从大到小排序。参考...原创 2020-03-20 22:14:38 · 207 阅读 · 0 评论 -
leetcode 40._回溯算法
题目:https://leetcode-cn.com/problems/combination-sum-ii给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。解答:class Solution { public List<...原创 2020-03-21 17:37:07 · 135 阅读 · 0 评论 -
leetcode_深度优先算法
题目:https://leetcode-cn.com/problems/path-sum/description/给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \...原创 2020-03-19 22:53:33 · 150 阅读 · 0 评论 -
leetcode 二分方法
题目:https://leetcode-cn.com/problems/search-insert-position/description/解法:class Solution { public int searchInsert(int[] nums, int target) { if (nums.length == 0) return 0; ...原创 2020-03-17 10:41:31 · 122 阅读 · 0 评论 -
Leetcode_贪心算法
题目:https://leetcode-cn.com/problems/delete-columns-to-make-sorted/description/:思路:cbadafghi竖着分析贪心策略所有不符合升序的这一列删除。codes:class Solution { public int minDeletionSize(String[] A) { ...原创 2020-03-16 10:53:00 · 196 阅读 · 0 评论 -
如何系统的学会算法
https://www.zhihu.com/question/20588261/answer/776221336:转载 2020-03-15 20:10:01 · 177 阅读 · 0 评论 -
Java实现 LeetCode 19删除链表的倒数第N个节点
删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?/** * Definition fo...原创 2020-02-14 11:51:10 · 121 阅读 · 0 评论 -
Java实现 LeetCode 22 括号生成
22. 括号生成给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]class Solution { public List<String> generateParenthesis(...原创 2020-02-14 11:44:02 · 111 阅读 · 0 评论 -
算法学习相关网站
刷题相关的网站:https://www.zhihu.com/question/25574458翻译 2018-11-04 19:03:13 · 186 阅读 · 0 评论 -
leetcode Insert Interval
1.LeetCode Insert Interval 2.codes;public class Solution { //思路解析: // 插入时,需要查看是否与给定的Intervals 有重贴,若重贴则需要合并// 遍历每一个interval// 如果当前的intervalde end 小于newintervalde start ,说...原创 2018-11-25 16:52:26 · 112 阅读 · 0 评论 -
N皇后问题:
分治方法求解N皇后问题:package demo_1111_sub;public class Solution3{ public int maxSubArray(int nums){ int len=nums.length; if(len==0){ return 0; } ...原创 2018-11-11 20:50:25 · 140 阅读 · 0 评论 -
Implement pow(x, n), which calculates x raised to the power n (xn).
Implement pow(x, n), which calculates x raised to the power n (xn). thoughts:求一个数的power 数目,伪代码如下:如果n=0 ,返回1.否则返回1,返回的2,n=-1,返回-1,返回1/x; 其他代码如下:public class Power { public doub...原创 2018-11-09 19:24:39 · 373 阅读 · 0 评论 -
anagrams together.
Given an array of strings, group anagrams together. thoughs://颠倒分组 codes:public List<List<String>> groupAnagrams(String[] strs) { if (strs == null || strs.lengt...原创 2018-11-08 09:50:50 · 178 阅读 · 0 评论 -
不重复的排列组合
Given a collection of numbers that might contain duplicates, return all possible unique permutations.代码如下:public class Solution { public List<List<Integer>> permutenique(int[] num...原创 2018-11-05 20:05:36 · 2049 阅读 · 0 评论 -
最小的站
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x)-- 将元素 x 推入栈中。pop()-- 删除栈顶的元素。top()-- 获取栈顶元素。getMin() -- 检索栈中的最小元素。算法实现:pubic class MinStack{ private final static int defalult_size=100...原创 2019-09-08 12:37:53 · 133 阅读 · 0 评论 -
环形链表
方法一:哈希表思路我们可以通过检查一个结点此前是否被访问过来判断链表是否为环形链表。常用的方法是使用哈希表。算法我们遍历所有结点并在哈希表中存储每个结点的引用(或内存地址)。如果当前结点为空结点 null(即已检测到链表尾部的下一个结点),那么我们已经遍历完整个链表,并且该链表不是环形链表。如果当前结点的引用已经存在于哈希表中,那么返回 true(即该链表为环形链表)。Java...原创 2019-09-08 03:02:06 · 101 阅读 · 0 评论 -
验证回文数
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例代码:class Solution { public boolean isPalindrome(String s) { String s="A man, a plan, a canal: Panama"; ...原创 2019-09-01 05:48:27 · 172 阅读 · 0 评论