摘要: 一、如果左边有序 1、target小于中点的值且小于起点的值:l = mid + 1 2、target小于中点的值且大于等于起点的值:r = mid - 1 3、target大于中点的值:l = mid + 1 二、如果右边有序 1、target大于中点的值且小于等于终点的值:l = mid + 1 阅读全文
posted @ 2020-03-17 17:58 Jinxiaobo0509 阅读(113) 评论(0) 推荐(0)
摘要: 有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 N 行,每行两 阅读全文
posted @ 2020-03-17 12:52 Jinxiaobo0509 阅读(113) 评论(0) 推荐(0)
摘要: 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个 阅读全文
posted @ 2020-03-17 11:35 Jinxiaobo0509 阅读(125) 评论(0) 推荐(0)
摘要: next_permutation的实现方法: 1、从数组的末尾往前找,找到 第一个位置 j,使得 nums[j] < nums[j + 1]。2、如果不存在这样的 j,将数组逆转。 //情况13、如果存在这样的 j,则从末尾往前找,找到第一个位置 i > j,使得 nums[i] > nums[j] 阅读全文
posted @ 2020-03-16 19:24 Jinxiaobo0509 阅读(110) 评论(0) 推荐(0)
摘要: 1 class Solution 2 { 3 public: 4 5 int divide(int dividend, int divisor) 6 { 7 if(dividend == 0) return 0; 8 9 long long a = fabs(dividend);//fabs()函数 阅读全文
posted @ 2020-03-16 17:18 Jinxiaobo0509 阅读(150) 评论(0) 推荐(0)
摘要: 1、全排列 1 class Solution 2 { 3 public: 4 int n; 5 vector<bool> st; 6 vector<vector<int>> ans; 7 vector<int> path; 8 9 vector<vector<int>> permute(vector 阅读全文
posted @ 2020-03-16 10:32 Jinxiaobo0509 阅读(108) 评论(0) 推荐(0)
摘要: 1 //KMP算法 2 class Solution 3 { 4 public: 5 //求next数组 6 vector<int> pre(string& str2) 7 { 8 if(str2.size() == 1) return {-1}; 9 vector<int> next(str2.s 阅读全文
posted @ 2020-03-15 18:42 Jinxiaobo0509 阅读(120) 评论(0) 推荐(0)
摘要: 1 //跟上一题一样的思路 2 class Solution 3 { 4 public: 5 int removeElement(vector<int>& nums, int val) 6 { 7 vector<int> vec; 8 int j = 0; 9 for(int i = 0;i < n 阅读全文
posted @ 2020-03-15 18:41 Jinxiaobo0509 阅读(198) 评论(0) 推荐(0)
摘要: 1 //双指针算法,也就是实现STL中的unique函数 2 class Solution 3 { 4 public: 5 int removeDuplicates(vector<int>& nums) 6 { 7 int n = nums.size(); 8 int j = 0; 9 for(in 阅读全文
posted @ 2020-03-15 18:40 Jinxiaobo0509 阅读(131) 评论(0) 推荐(0)
摘要: 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 阅读全文
posted @ 2020-03-15 18:39 Jinxiaobo0509 阅读(131) 评论(0) 推荐(0)