在什么什么后面| 浮想联翩是什么意思| 福是什么生肖| 冠状ct能查什么| mlb是什么牌子| 自己买什么药可以打胎| 去黄疸吃什么药| 气管炎不能吃什么食物| 荆芥是什么| 人参为什么会跑| g是什么牌子| 白蛋白偏高是什么原因| 湍急是什么意思| 女生小便带血是什么原因| dostinex是什么药| 荔枝什么品种好吃| 海带炖什么好吃| 为什么会有痛经| 波澜壮阔是什么意思| 附属医院是什么意思| 心梗做什么检查| 榨精是什么意思| 移民澳洲需要什么条件| 肺鳞癌是什么意思| 肩周炎是什么症状| 右眼跳是什么预兆| 21是什么意思| 小姨子是什么关系| 罗汉果可以和什么一起泡水喝| 做狐臭手术挂什么科| 为什么会长汗疱疹| 猫肉为什么不能吃| 受益匪浅是什么意思| 下火吃什么药| 黄金属于五行属什么| 969368是什么电话| 幺妹是什么意思| 18k金和24k金有什么区别| 卜卦是什么意思| loft是什么意思| 滑膜炎挂什么科| 粉色史迪仔叫什么| 秦始皇墓为什么不敢挖| 姐姐的女儿叫什么称呼| 肚脐眼为什么会有臭味| 梦见自己大便是什么意思| 唏嘘是什么意思| 火影忍者什么时候出的| 小腿肚酸疼是什么原因| 声音的高低叫什么| 72年属什么| 动物园里面有什么动物| 蕊五行属什么| 养神经吃什么食物最好| 龟兔赛跑的故事告诉我们什么道理| 印度古代叫什么| 建档挂什么科| qt是什么| 梦见丧尸是什么预兆| 尿检是检查什么的| 椎体楔形变是什么意思| 什么原因导致宫外孕| 血糖高喝什么酒好| 榴莲皮可以做什么| 一九六七年属什么生肖| 蜜饯是什么东西| 寒气和湿气有什么区别| 牙疼吃什么好| 眼底出血是什么原因造成的| 拘挛是什么意思| 济公属什么生肖的| 天空为什么会打雷| 国家专项是什么意思| 胸口长痘是什么原因| 饺子什么馅儿最好吃| 耳朵旁边长痘痘是什么原因| 腿水肿是什么原因引起的| 金刚菩提是什么植物的种子| 脸上容易出油是什么原因| 1996年属什么生肖| 夏天什么面料最凉快| 28周检查什么项目| hbsag阳性什么意思| 夏至是什么时候| 出其不意下一句是什么| 孕前检查挂什么科室| 神经衰弱吃什么中成药| 对峙什么意思| 人体含量最多的元素是什么| 打呼噜什么原因| 足三里在什么位置图片| chris是什么意思| 土阜念什么| 观音菩萨姓什么| 低血压适合吃什么食物| 啄木鸟为什么不会脑震荡| 心花怒放是什么意思| 皮肤黑的人穿什么颜色的衣服显白| ards是什么病的简称| 豆豉炒什么菜好吃| 什么叫支原体感染| 墨菲定律是什么| 一根筋是什么意思| 知我者莫若你什么意思| 究竟涅盘是什么意思| 结晶体是什么意思| 本命年为什么要穿红色| 大便化验隐血阳性什么意思| 高就什么意思| 叶酸片有什么功效| 碘酒是什么| 朱红色是什么颜色| 牙齿痛挂什么科| 什么是不饱和脂肪酸| 脑卒中什么意思| 珍珠鸟吃什么| 帕金森挂什么科| 女人的动物是什么生肖| 什么车最省油| 绘本是什么意思| 小狗需要打什么疫苗| 考c1驾照需要什么条件| 阳春三月是什么生肖| 6月23号是什么日子| 汽车拉缸有什么现象| 胎监什么时候开始做| k金是什么意思| 哺乳期抽烟对宝宝有什么影响| 一本万利是什么生肖| 回族不能吃什么肉| 女人为什么会叫| 宝宝睡觉摇头是什么原因| 逍遥丸什么时候吃最好| 过期红酒有什么用途| 什么药补肾| 三级残疾是什么程度| 铜锣湾有什么好玩的| 心率偏低是什么原因| 五位一体是什么| 健胃消食片什么时候吃| 什么的梨子| e-mail什么意思| 可见一斑是什么意思| 贵姓是什么意思| 米线里的麻油是什么油| 以示是什么意思| 吃什么降火| 沙门是什么意思| 膝盖疼痛是什么原因| 云字属于五行属什么| 徐五行属什么| 青绿色是什么颜色| 菊花什么时候开花| dady是什么意思| 麦冬什么时候种植| 前列腺增生是什么原因引起的| 间歇性是什么意思| 威海有什么特产| 打日本电话前面加什么| 大拇指疼痛什么原因引起的| 一个点是什么意思| hushpuppies是什么牌子| 反应性细胞改变炎症是什么意思| 什么什么一什么| 怀孕检查挂什么科| 毫无保留什么意思| 动物园里有什么游戏| 什么是中出| 使能是什么意思| 拔牙后可以吃什么| 什么是适度水解奶粉| 茜是什么意思| 精液的主要成分是什么| 九二共识是什么意思| 手脚肿胀是什么原因| 女生额头长痘痘是什么原因| 小龙虾不能和什么一起吃| 为什么老是梦到男朋友| 侄女结婚送什么礼物最好| 男性早泄吃什么药| 青团是什么节日吃的| 生米煮成熟饭是什么意思| 大人有大量是什么意思| 什么人不能吃阿胶| 潮吹是什么意思| 博士生导师是什么级别| 舌头有红点是什么原因| 柠檬配什么泡水喝最好| 喉咙痒痒的吃什么药| 芭蕉和香蕉有什么区别| 沅字的寓意是什么| 灵芝孢子粉什么时候吃最好| 邮电局是干什么的| 湿疹用什么药好| 哀转久绝的绝什么意思| 刚怀孕要吃些什么好| 田野是什么意思| 为什么一直睡不着| 嫩黄的什么| 杨琴是什么乐器| 宝付支付是什么| penguins是什么意思| 为什么晚上睡不着| 女人什么时候绝经| 吃什么丰胸效果最好最快| 什么可以变白皮肤| 什么是豆制品| 清白是什么意思| 什么降血压效果最好| 什么头什么臂| 梦到吃屎是什么意思| 脾虚吃什么食物补最快| 脱发严重应该去医院挂什么科| 白细胞正常c反应蛋白高说明什么| 气虚吃什么中药| 肝癌是什么症状| 双向是什么意思| 百废待兴是什么意思| 谷氨酰转肽酶是指什么| 怀孕什么时候开始孕吐| 结婚送什么| 高血脂是什么原因引起的| 血气是什么意思| 肝脏b超能检查出什么| 平均红细胞体积偏低是什么原因| 拔牙后吃什么食物最好| 黄皮什么时候成熟| 很棒是什么意思| 夏季有什么蔬菜| ccd是什么意思| 什么的马| 治疗幽门螺旋杆菌的四联药是什么| 发烧打什么针| 2015年是什么生肖| 饮鸩止渴什么意思| 腿麻木是什么原因引起的| 钻石是什么材质| 新生儿拉稀是什么原因| 男性尿道疼痛小便刺痛吃什么药| 8月11号是什么星座| 心律不齐房颤吃什么药| 芙蓉花是什么花| 甜瓜是什么瓜| 炖肉放什么调料| 基因突变是什么意思| 什么叫压缩性骨折| 肚子胀气吃什么通气| 驾照c2能开什么车| 雍正叫什么名字| 11.7号是什么星座| 核磁和ct有什么区别| 牙疼吃什么药效果最好| 映景是什么意思| 得不偿失是什么意思| 带id是什么意思| 舌炎吃什么药| 什么时候买机票便宜| 奇行种什么意思| 什么叫同工同酬| 什么话是世界通用的| 碗莲什么时候开花| 冥想有什么好处| 50肩是什么意思| 房产税什么时候开始征收| 百度

人力资源助理、行政文员/助理、文案策划、前台

1. 贪心算法解决问题的步骤

  • (1)适用范围:针对一组数据,我们定义了限制值和期望值,希望从中选出几个数据,在满足限制值的情况下,期望值最大。
  • (2)尝试用贪心的思路解决问题:每次选择当前情况下,在对限制值同等贡献量的情况下,对期望值贡献最大的数据。
  • (3)举例看一下贪心算法产生的结果是否是最优:大部分情况下,举几个例子验证一下就可以了,严格证明贪心算法的,是非常复杂的,需要涉及到比较多的数学推理(实际上,用贪心算法解决问题的思路,并不总能给出最优解,如有权图中求最小路径问题,选择最短的边,可能会因为这一步选择最短的,导致后面每一步选择都很糟糕,最终就无法就出全局最优解,在这个问题上贪心算法不工作的原因是前面的选择会影响后面的选择)。

2. 贪心算法实战

  • (1)分饼干(leetcode455,easy)

  • 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
  • 百度 由于目前中国出境旅游发展飞速,原来我们仅仅是把旅游作为经济层面的产业来看待,但是出境旅游很大程度上表现出国家的软实力,把文化和旅游结合在一起,我们可以通过旅游的这种通道来向全世界传播中国的文化。

    对每个孩子?i,都有一个胃口值?g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干?j,都有一个尺寸?s[j]?。如果?s[j]?>= g[i],我们可以将这个饼干?j?分配给孩子?i?,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。

    示例?1:

    输入: g = [1,2,3], s = [1,1]
    输出: 1
    解释: 
    你有三个孩子和两块小饼干,3 个孩子的胃口值分别是:1,2,3。
    虽然你有两块小饼干,由于他们的尺寸都是 1,你只能让胃口值是 1 的孩子满足。
    所以你应该输出 1。
    

    示例?2:

    输入: g = [1,2], s = [1,2,3]
    输出: 2
    解释: 
    你有两个孩子和三块小饼干,2 个孩子的胃口值分别是 1,2。
    你拥有的饼干数量和尺寸都足以让所有孩子满足。
    所以你应该输出 2。
  • 实现代码如下
  • class Solution {
        public int findContentChildren(int[] g, int[] s) {
            //1.先将两个数组排序
            Arrays.sort(g);
            Arrays.sort(s);
            int i=0;int j=0;
            //2.贪心策略:按胃口值从小到大依次分配对应胃口值的孩子最小尺寸能满足胃口的饼干
            while(i<g.length&&j<s.length){
                if(g[i]<=s[j]){
                    i++;
                    j++;
                }else{
                    j++;
                }
            }
            return i;
        }
    }

(2)发糖果(leetcode135,hard)

  • n?个孩子站成一排。给你一个整数数组?ratings?表示每个孩子的评分。

    你需要按照以下要求,给这些孩子分发糖果:

  • 每个孩子至少分配到?1?个糖果。
  • 相邻两个孩子中,评分更高的那个会获得更多的糖果。
输入:ratings = [1,2,2]
输出:4
解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。
     第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。

实现原理:遍历两遍,第一遍从左到右保证右侧评分高的孩子糖果数比左侧孩子多1,第二遍从右往左,保证左侧评分高的孩子糖果数比右侧孩子多1.

实现代码如下:

class Solution {
    public int candy(int[] ratings) {
        int[]candys = new int[ratings.length];
        //1. 所有孩子的糖果数初始化为1(每个孩子至少有一颗糖果)
        for(int i=0;i<candys.length;i++){
            candys[i]=1;
        }
        //2. 从左往右,如果右侧孩子的评分高于左侧,则将右侧孩子的糖果数在左侧孩子基础上加1
        for(int i=0; i<ratings.length-1;i++){
            if(ratings[i]<ratings[i+1]){
                candys[i+1]=candys[i]+1;
            }
        }
        //3.从右往左,如果左侧孩子的评分高于右侧,且左侧孩子的糖果数小于等于右侧,则左侧孩子糖果数等于右侧孩子糖果数+1
        for(int i=ratings.length-1;i>0;i--){
            if(ratings[i-1]>ratings[i]){
                if(candys[i-1]<=candys[i]){
                    candys[i-1] = candys[i]+1;
                }
            }
        }
        int sum=0;
        for(int i=0;i<candys.length;i++){
            sum+=candys[i];
        }
        return sum;
    }
}

(3)无重叠区间(leetcode435,medium)

  • 给定一个区间的集合?intervals?,其中?intervals[i] = [starti, endi]?。返回?需要移除区间的最小数量,使剩余区间互不重叠?
  • 注意?只在一点上接触的区间是?不重叠的。例如?[1, 2]?和?[2, 3]?是不重叠的。

示例 1:

输入: intervals = [[1,2],[2,3],[3,4],[1,3]]
输出: 1
解释: 移除 [1,3] 后,剩下的区间没有重叠。

示例 2:

输入: intervals = [ [1,2], [1,2], [1,2] ]
输出: 2
解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。

示例 3:

输入: intervals = [ [1,2], [2,3] ]
输出: 0
解释: 你不需要移除任何区间,因为它们已经是无重叠的了。

实现原理:被移除的区间右边界值越小,能包含的剩余区间数越多

实现代码如下:

class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        if(intervals.length<=1){
            return 0;
        }
        //1. 将二维数组按照第二列的排序
        Arrays.sort(intervals,(a,b)->Integer.compare(a[1],b[1]));
        int delNum = 0;
        int previous = intervals[0][1];
        for(int i=0;i<intervals.length-1;i++){
            //2. 若前一个区间(未去除)的右边界大于后一个区间的左边界,则后一个区间应该去除
            if(previous>intervals[i+1][0]){
                delNum++;
            }else{
                previous = intervals[i+1][1];
            }
        }
        return delNum;
    }
}

变种 1:用最少数量的箭引爆气球(leetcode452,medium)

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组?points?,其中points[i] = [xstart, xend]?表示水平直径在?xstart?和?xend之间的气球。你不知道气球的确切 y 坐标。

一支弓箭可以沿着 x 轴从不同点?完全垂直?地射出。在坐标?x?处射出一支箭,若有一个气球的直径的开始和结束坐标为?xstartxend,?且满足 ?xstart?≤ x ≤ xend,则该气球会被?引爆?。可以射出的弓箭的数量?没有限制?。 弓箭一旦被射出之后,可以无限地前进。

给你一个数组?points?,返回引爆所有气球所必须射出的?最小?弓箭数?

示例 1:

输入:points = [[10,16],[2,8],[1,6],[7,12]]
输出:2
解释:气球可以用2支箭来爆破:
-在x = 6处射出箭,击破气球[2,8]和[1,6]。
-在x = 11处发射箭,击破气球[10,16]和[7,12]。

示例 2:

输入:points = [[1,2],[3,4],[5,6],[7,8]]
输出:4
解释:每个气球需要射出一支箭,总共需要4支箭。

示例 3:

输入:points = [[1,2],[2,3],[3,4],[4,5]]
输出:2
解释:气球可以用2支箭来爆破:
- 在x = 2处发射箭,击破气球[1,2]和[2,3]。
- 在x = 4处射出箭,击破气球[3,4]和[4,5]。

? ?实现原理:与(3)中问题相似的点在于重叠区间同样需要去掉,因为有重叠的区间的气球可以一箭击破,区别在于一点上接触的区间是?重叠的,因为同样可以一箭击破

实现方式如下:

class Solution {
    public int findMinArrowShots(int[][] points) {
        //1. 将points数组按照第二列排序
        Arrays.sort(points,(a,b)->Integer.compare(a[1],b[1]));
        //2. points数组中有重叠的区间排除掉(包括只有一点接触的)
        int delNum = 0;
        int previous = points[0][1];
        for(int i=1; i<points.length; i++){
            if(previous>=points[i][0]){
                delNum++;
            }else{
                previous=points[i][1];
            }
        }
        return points.length - delNum;
    }
}

变种2:将区间分为最小组数(leetcode2406,medium)

给你一个二维整数数组?intervals?,其中?intervals[i] = [lefti, righti]?表示??区间?[lefti, righti]?。

你需要将?intervals?划分为一个或者多个区间??,每个区间??属于一个组,且同一个组中任意两个区间?不相交?。

请你返回?最少?需要划分成多少个组。

如果两个区间覆盖的范围有重叠(即至少有一个公共数字),那么我们称这两个区间是?相交?的。比方说区间?[1, 5]?和?[5, 8]?相交。

示例 1:

输入:intervals = [[5,10],[6,8],[1,5],[2,3],[1,10]]
输出:3
解释:我们可以将区间划分为如下的区间组:
- 第 1 组:[1, 5] ,[6, 8] 。
- 第 2 组:[2, 3] ,[5, 10] 。
- 第 3 组:[1, 10] 。
可以证明无法将区间划分为少于 3 个组。

示例 2:

输入:intervals = [[1,3],[5,6],[8,10],[11,13]]
输出:1
解释:所有区间互不相交,所以我们可以把它们全部放在一个组内。

实现原理:为了让划分的组最少,需要让每个区间包含的区间数尽可能的多,需要将有重叠区间的右侧值用一个数据结构存起来(只需要将组里的最后一个区间的右侧值存下来),每次比较时取出最小的右侧值与最小的区间左边界(按左边界将数组排序)值进行比较。

实现代码如下:

class Solution {
    public int minGroups(int[][] intervals) {
        //1. 将二维数组按照第一列大小进行排序(为了让划分的组尽量少,则每个区间右端值尽可能和左侧值接近,左侧值越小越好)
        Arrays.sort(intervals,(a,b)->(a[0]-b[0]));
        PriorityQueue<Integer> pre =new PriorityQueue<>();
        for(int i=0;i<intervals.length;i++){
            //2.可以和后面区间连成组的元素右侧值(为了让划分的组尽量少,需要让每组区间数尽可能多,故需要构造小顶堆,每次取最小值)出队
            if(pre.size()!=0 &&pre.peek()<intervals[i][0]) pre.poll();
            //3.每个区间的右侧值都入队
            pre.offer(intervals[i][1]);
        }
        return pre.size();

    }
}

?(4)种花问题(leetcode605,easy)

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

给你一个整数数组?flowerbed?表示花坛,由若干?0?和?1?组成,其中?0?表示没种植花,1?表示种植了花。另有一个数?n?,能否在不打破种植规则的情况下种入?n?朵花?能则返回?true?,不能则返回?false?。

示例 1:

输入:flowerbed = [1,0,0,0,1], n = 1
输出:true

示例 2:

输入:flowerbed = [1,0,0,0,1], n = 2
输出:false

实现思路:只有flowerbed[i-1]==0,flowerbed[i]==0,flowerbed[i+1]==0三者同时满足时,才能在位置i种花,注意考虑边界位置

实现代码如下:

class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        int x = 0;
        if(flowerbed.length==1){
            if(flowerbed[0]==0){
                x++;
            }
            return x>=n;
        }
        
        for(int i=0;i<flowerbed.length;i++){
            //1.考虑左边界
            if(i==0){
                if(flowerbed[i]==0&&flowerbed[i+1]==0){
                    flowerbed[i]=1;
                    x++;
                }
            //2.考虑右边界
            }else if(i==flowerbed.length-1){
                if(flowerbed[i-1]==0&&flowerbed[i]==0){
                    flowerbed[i]=1;
                    x++;
                }
            //3.中间正常位置
            }else{
                if(flowerbed[i-1]==0&&flowerbed[i+1]==0&&flowerbed[i]==0){
                    flowerbed[i]=1;
                    x++;
                }
            }
        }
        return x>=n;
    }
}

(5)划分字母区间(leetcode763,medium)?

给你一个字符串?s?。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串?"ababcc"?能够被分为?["abab", "cc"],但类似?["aba", "bcc"]?或?["ab", "ab", "cc"]?的划分是非法的。

注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是?s?。

返回一个表示每个字符串片段的长度的列表。

示例 1:

输入:s = "ababcbacadefegdehijhklij"
输出:[9,7,8]
解释:
划分结果为 "ababcbaca"、"defegde"、"hijhklij" 。
每个字母最多出现在一个片段中。
像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。 

示例 2:

输入:s = "eccbbbbdec"
输出:[10]

实现原理:将每个字符最后一次出现在字符串中的位置记录下来,再从前往后遍历字符串,取所遍历字符最后出现位置的最大值,若该最大值正好和数组当前下标相等,说明所遍历的所有字符都不会在后续字符串中出现,即得到了一个有效的划分片段。

实现代码如下:

class Solution {
    public List<Integer> partitionLabels(String s) {
        char[] chars = s.toCharArray();
        //1.求出字符串中每个字符最后出现的位置
        int[] last = new int[26];
        for(int i=0; i<chars.length;i++){
            last[chars[i]-'a']=i;
        }
        List<Integer> lens = new ArrayList<>();
        int start=0,end=0;
        //2. 从前往后遍历字符,取每个字符出现的最后位置的最大值,若最大值与数组下标相同,说明这一片段中所有字符都只出现在当前片段中
        for(int i=0; i<chars.length;i++){
            end = Math.max(end,last[chars[i]-'a']);
            if(end == i){
                lens.add(end-start+1);
                start = i+1;
            }
        }
        return lens;
    }
}

(6)两地调度(leetcode1029,medium)

公司计划面试?2n?人。给你一个数组?costs?,其中?costs[i] = [aCosti, bCosti]?。第?i?人飞往?a?市的费用为?aCosti?,飞往?b?市的费用为?bCosti?。

返回将每个人都飞到?a?、b?中某座城市的最低费用,要求每个城市都有?n?人抵达

示例 1:

输入:costs = [[10,20],[30,200],[400,50],[30,20]]
输出:110
解释:
第一个人去 a 市,费用为 10。
第二个人去 a 市,费用为 30。
第三个人去 b 市,费用为 50。
第四个人去 b 市,费用为 20。

最低总费用为 10 + 30 + 50 + 20 = 110,每个城市都有一半的人在面试。

示例 2:

输入:costs = [[259,770],[448,54],[926,667],[184,139],[840,118],[577,469]]
输出:1859

示例 3:

输入:costs = [[515,563],[451,713],[537,709],[343,819],[855,779],[457,60],[650,359],[631,42]]
输出:3086

实现原理:假设2n个人都是去b市,为满足题目条件,则需要从这2n个人中选出n个人前往a市,选出的n个人一定是acosti-bcosti值最小的n个

实现代码如下:

class Solution {
    public int minGroups(int[][] intervals) {
        //1. 将二维数组按照第一列大小进行排序(为了让划分的组尽量少,则每个区间右端值尽可能和左侧值接近,左侧值越小越好)
        Arrays.sort(intervals,(a,b)->(a[0]-b[0]));
        PriorityQueue<Integer> pre =new PriorityQueue<>();
        for(int i=0;i<intervals.length;i++){
            //2.可以和后面区间连成组的元素右侧值(为了让划分的组尽量少,需要让每组区间数尽可能多,故需要构造小顶堆,每次取最小值)出队
            if(pre.size()!=0 &&pre.peek()<intervals[i][0]) pre.poll();
            //3.每个区间的右侧值都入队
            pre.offer(intervals[i][1]);
        }
        return pre.size();

    }
}
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值
    瑗是什么意思 血糖高可以吃什么肉类 胆汁是什么颜色 相知是什么意思 回南天是什么时候
    身上红痣多是什么原因 扁桃体发炎吃什么消炎药 ear什么意思 吃钙片有什么副作用 木字旁加差是什么字
    为什么手老是出汗 脚经常抽筋是什么原因 三进宫是什么意思 男人左眼下有痣代表什么 造化是什么意思
    新生儿晚上哭闹不睡觉是什么原因 胃下垂吃什么药最好 吃什么能消除脂肪瘤 葡萄胎是什么原因造成的 人工受孕和试管婴儿有什么区别
    什么是眩晕症hcv8jop0ns6r.cn 脾虚湿盛吃什么药hcv8jop9ns6r.cn 晒伤用什么药hcv8jop1ns0r.cn 上飞机不能带什么hcv8jop0ns4r.cn 什么身什么骨tiangongnft.com
    血钾高是什么引起的hcv9jop4ns9r.cn 热结旁流是什么意思hcv8jop5ns6r.cn 临床什么意思hcv8jop6ns5r.cn 无花果什么功效hcv8jop9ns2r.cn 圣诞节什么时候hcv8jop2ns4r.cn
    真实的印度是什么样的youbangsi.com 阿凡提是什么意思hcv8jop6ns7r.cn 产后第一次来月经是什么颜色hcv9jop2ns7r.cn 紫苏有什么功效hcv8jop5ns6r.cn 中午吃什么菜hcv8jop9ns0r.cn
    银杏果长什么样liaochangning.com 为什么胸一碰就疼hcv7jop6ns8r.cn 升结肠ca是什么意思zhiyanzhang.com XXJ什么意思xscnpatent.com 朱是什么颜色hcv8jop0ns4r.cn
    百度