ChromiumOS通过Linux容器运行Android
crouton概述ChRomium Os Universal chrooT EnvirONment123456789Crouton是CrOS上的一个chroot生成器。它能够自动完成对指定linux镜像的构建,并以chroot的形式启动它们。Crouton使得Ubuntu,Debian和Kali Linux系统能够与Chrome OS系统并行运行。它使用的是chroot而不是双启动的方式,允许用户同时运行不同的桌面环境:Chrome OS和用户通过crouton选择的其他环境。### 作用在Chromium os上面通过chroot直接运行linux。此时,Chromium OS与chroot内的系统是并行运行的。# 使用crouton下载地址:https://goo.gl/fd3zc ;如果地址失效可以从```https://github.com/dnschneid/crouton```找到最新的下载地址。
sudo sh ~/Downloads/crouton -t xfce
123456789101112> -t xfce表示旋转使用xfce作为桌面环境 ...
ffmpeg一键下载网页视频并转码mp4
1. 首先使用Chrome打开网页,单击F12打开开发者工具
开始视频播放,在F12出来的界面中单击Network
在Network中有文件列表,检查当中是否存在m3u8结尾的文件
2. 如果有m3u8结尾的文件,把它的源地址复制下来
源地址复制下来可能分两段(两个http),一段是跳转地址,一段是目标地址,将目标地址保留下来即可。
正确的m3u8文件地址大概的样子在下面的命令示例中
3. 使用以下命令一键下载并自动合成、转码为mp41ffmpeg -i http://xxx.com:8891/1231/index.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
4. 注意事项
必须安装ffmpeg,Linux、Mac可以使用常规方法安装,Windows直接去官网下载二进制包直接用、
当网页中播放的视频流是ts格式的时候,本方法适用。
LeetCode-4_MedianOfTwoSortedArrays
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455/*There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays.The overall run time complexity should be O(log (m+n)).Example 1:nums1 = [1, 3]nums2 = [2]The median is 2.0Example 2:nums1 = [1, 2]nums2 = [3, 4]The median is (2 + 3)/2 = 2.5*/#include <iostream>#include <vector>using namespace std;class Solution{public: /*arg1 a ...
LeetCode-3_Longest_Substring_Without_Repeating_Characters
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include <iostream>#include<ext/hash_map>/*2017年10月14日15:23:32Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3. Given "bbbbb", the answer is "b", with the length of 1.Given "pwwkew", the answer is "wke", with the length of 3.Note t ...
LeetCode-5_Longest Palindrome Substring
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970/* * main.cpp * * Created on: 2017年10月16日 * Author: zhy * * Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. * Example: * Input: "babad" * Output: "bab" * Note: "aba" is also a valid answer. * Example: * Input: "cbbd" * ...
LeetCode_2-Add_Two_Numbers
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293#include <iostream>/*You are given two non-empty linked lists representing two non-negative integers.The digits are stored in reverse order and each of their nodes contain a single digit.Add the two numbers and return it as a linked list.You may assume the two numbers do not contain any leading zero, except the numb ...
LeetCode-1_TwoSum
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include <iostream>#include <vector>using namespace std;/* LeetCode 1.TwoSum 题目要求: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. 返回索引位置即可; 题目假设给出的集合仅仅只有一个满足的a+b==target:assume ...
广度优先搜索BFS-C实现、思路、解析和总结
广度优先搜索BFS基本简介对于每一个点,找到这个点能够直接连通的点,只做广度上的搜索而不做深度的搜索,在这个点的所有广度都搜索完成后,再扩展、深入到下一个深度进行广度搜索,最终完成所有搜索。##实现思路在一个带有障碍物的迷宫(二维数组)中模拟使用广度优先搜索来走迷宫。使用一个结构体数组来模拟一个队列,该队列记录每一个点的广度,在某一个层次的所有点的广度都搜索完成后,进入下一层次,这个过程由队列的出队、入队操作来实现。首先,将起点放入队列作为队头,以队头为基准探索所有可能的走法,将所有符合条件的走法(不是障碍物且没有走过的点)入队,再让这些点成为新的队头(进入下一层次),进行广度搜索,使用队列的满/空来实现循环控制,不涉及递归调用广度搜索函数。##实现效果##C代码实现
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828 ...
深度优先搜索DFS-C语言实现、思路/解析-简笔
简介深度优先搜索Depth First Search是对图论问题的分析解决,其核心思想就是就是解决1、当下应该如何做;2、下一步如何做与现在这一步如何做是一样的;3、边界条件的判断;
基本模型-通用套路12345678910111213141516void dfs(step){ /*1.判断边界,判断本阶段的DFS是否已经结束了*/ if(foo == bar){ /*Do something*/ return ; } /*2.尝试每一种可能,类似于走迷宫中的在每一个点尝试每个方向*/ for(i=0;i<_MAX_;++i) { do_something(); dfs(step+1);//进行下一步 undo_something(); } return ;}
走迷宫-应用深度优先搜索思路:
确定深度探索的方向:迷宫为二维数组,每个点最多只有上下左右四个方向,因此使用一个4元素的二维数组来表示探索方向,同 ...
C快速排序-思想、原理与实现-简笔
快速排序快速排序是很常用的排序方法,它的时间复杂度较理想,平均时间复杂度为O(NlogN)(注:最坏情况下时间复杂度与冒泡排序相同,都是O(N²))。快速排序的本质是二分思想:将一系列数按照某个基准,分为大于它的数和小于它的数,将这两组数分出来后,再用递归的思想使用相同的一段代码再次分数,直到最后完成排序。
具体思路
选择一个基准数;基准就是判断标准,它决定了大于它和小于它的数会在每一次递归快速排序中被分到基准的两侧(这两侧在下一次递归中分开处理);一般情况下,基准可以任选,只要它出现在了所需要排序的数字中即可,一般选择数组的第一个元素作为基准,简单方便;
设计交换方法:这里需要使用两个迭代器(即for循环中的i和j),想象它们是哨兵;两个哨兵指向数组的[0]和最后一个元素,让远离基准一侧的哨兵首先工作ï¼它通过while或for来检测它每一步遇到的数组元素的大小,如果元素比基准大,那么继续走下一步(这种元素不需要交换,因为它们比基准大,它们现在的位置就是合理的位置);如果比基准小,那么停下来;接下来让基准那一侧的哨兵出发,检测遇到的数,如果小于基准,则跳过;如果大于基准,则停下来; ...