算法学习
qq_28888837
这个作者很懒,什么都没留下…
展开
-
二分查找及左边界和右边界查找
二分查找及左边界和右边界查找二分查找对于二分查找而言,其定义这里就不展开说了,这里主要是给出代码,并且说明几个容易搞错的地方,代码如下:public int binary_search(int[] nums,int target){ int left = 0, right = nums.length - 1; int mid = 0; while(left<=right){ mid = left + (right - left) /2; // 等同于(..原创 2020-07-22 16:47:27 · 4381 阅读 · 0 评论 -
C++ STL中vector和map的几个基本操作--查看、遍历、删除等
C++ STL中vector和map的几个基本操作–查看、遍历、删除等vector头文件#include<iostream>#include<vector>初始化int a[] ={1,2,3,4,5,4,6,4};vector<int> vec(a,a+8);//利用数组初始化vector<int> v1 = {1,2,3...原创 2020-03-30 19:56:22 · 671 阅读 · 0 评论 -
Leetcode 8. String to Integer (atoi) 字符串转换整数 (atoi)
Leetcode 8. String to Integer (atoi) 字符串转换整数 (atoi)标签: Leetcode题目地址:https://leetcode-cn.com/problems/string-to-integer-atoi/题目描述请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符...原创 2018-12-25 19:56:57 · 235 阅读 · 0 评论 -
Leetcode 7. Reverse Integer 整数反转
Leetcode 7. Reverse Integer 整数反转标签: Leetcode题目地址:https://leetcode-cn.com/problems/reverse-integer/题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: ...原创 2018-12-21 15:00:41 · 237 阅读 · 0 评论 -
Leetcode 6. ZigZag Conversion Z 字形变换
Leetcode 6. ZigZag Conversion Z 字形变换标签: Leetcode题目地址:https://leetcode-cn.com/problems/zigzag-conversion/题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C ...原创 2018-12-06 16:55:22 · 206 阅读 · 0 评论 -
Leetcode 4. Median of Two Sorted Arrays 寻找两个有序数组的中位数
Leetcode 4. Median of Two Sorted Arrays 寻找两个有序数组的中位数标签: Leetcode题目地址:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复...原创 2018-12-03 12:04:51 · 327 阅读 · 0 评论 -
Leetcode 5. Longest Palindromic Substring 最长回文子串
Leetcode 5. Longest Palindromic Substring 最长回文子串标签: Leetcode题目地址:https://leetcode-cn.com/problems/longest-palindromic-substring/题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”...原创 2018-12-04 15:58:15 · 202 阅读 · 0 评论 -
Leetcode 3. Longest Substring Without Repeating Characters 无重复字符的最长子串
Leetcode 3. Longest Substring Without Repeating Characters 无重复字符的最长子串标签: Leetcode题目地址:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/题目描述给定一个字符串,请你找出其中不含有重复字符的最长子...原创 2018-12-02 15:39:40 · 168 阅读 · 0 评论 -
Leetcode 2. Add Two Numbers 两数相加
Leetcode 2. Add Two Numbers 两数相加标签: Leetcode题目地址:https://leetcode-cn.com/problems/add-two-numbers/题目描述给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它...原创 2018-12-02 11:22:47 · 331 阅读 · 0 评论 -
LeetCode 1. Two Sum 两数之和
LeetCode 1. Two Sum 两数之和标签: Leetcode题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 11, 7, 15], target = 9因为 nums[0] + nums[2] = 2 ...原创 2018-12-02 10:51:22 · 201 阅读 · 0 评论 -
图的着色问题-回溯解决
问题描述:图着色问题(Graph Coloring Problem, GCP) 又称着色问题,是最著名的NP-完全问题之一。 数学定义:给定一个无向图G=(V, E),其中V为顶点集合,E为边集合,图着色问题即为将V分为K个颜色组,每个组形成一个独立集,即其中没有相邻的顶点。其优化版本是希望获得最小的K值。图的m-着色判定问题——给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个原创 2016-11-22 13:37:46 · 29410 阅读 · 2 评论 -
八皇后问题(2)
这个是在(1)的基础上进行一点改进关于八皇后的第一种解法:八皇后问题(1)因为第一种解法只是利用了不同行,并没有利用不同列的条件,所以会增加不必要的遍历,所以这个算法在开始就将皇后的位置规定为不能 重复,可以减少递归的次数,此时问题也将变为将八个不同的位置全排列,所以问题变为了全排列。代码如下import java.util.Vector;public class Main2 { publi原创 2016-11-20 14:40:08 · 330 阅读 · 0 评论 -
八皇后问题(1)
问题描述:八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。简单思路分析:因为八皇后问题的前提条件为不能同行 ,所以可以想到用数组的下标来表示每个皇后所在的行,数组的内容来表示皇后在的列。这样可以减少一部分工作,最后在原创 2016-11-20 14:29:14 · 548 阅读 · 0 评论 -
DFS二叉树的构造与遍历
程序实现目的:实现通过先序遍历来输入一个二叉树,在通过dfs的方法遍历二叉树,树的最后节点通过-1作表示结束。 比如这样的个二叉树: 其输入与输出如下: 程序如下:import java.util.Scanner;//树的节点class Node { public int value = 0; public Node leftNode = null; public原创 2016-11-20 14:09:45 · 665 阅读 · 0 评论