<?php
class Solution
{
public function titleToNumber($s)
{</p>
<pre><code> $num = 0;
$len = strlen($s) - 1;
for ($i = $len; $i &gt;= 0; $i--)
{
$num += (ord($s[$i]) - ord('A') + 1) * (int)pow(26, $len - $i);
}
return $num;
}……
<?php
class Solution
{
public function isAnagram($s, $t)
{
$s = strtolower($s);
$t = strtolower($t);
for ($i = 0; $i < 26; $i++)
{
$sChars[$i] = 0;
$tChars[$i] = 0;
}
for ($i = 0; $i < strlen($s); $i++)
……
<?php
class Solution
{
public function addDigits($num)
{
while ($num > 10)
{
$tmp = 0;<br />
while ($num > 0)
{
$tmp += $num % 10;
$num = intval($num / 10);<br />
……
<?php
class solution
{
public function twoSum($nums, $target)
{
$result = array();
for ($i = 0; $i < count($nums); $i++)
{
for ($j = 0; $j < count($nums); $j++)
{
if ($target == $nums[$i] + $nums[$j])
……
<?php
class Solution
{
public function singleNumber($nums)
{
$single = 0;
foreach ($nums as $num)
{
$single ^= $num;
echo $num;
}
return $single;
}
}
$solution = new Solution();
echo $solution->singleNumber(array(1,……
因为形成了环,遍历每个点为起始点,并排除相邻点,假设起始点必选。借用House Robber的解法即可。
class Solution {
public:
int robOne(vector& nums) {
if (nums.size() {
return 0;
}
vector v(nums.size() + 1);
v[0] = 0;
v[1] = nums[0];
……
第k大数,取巧了,直接快排了。应该是模拟快排。
class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
sort(nums.begin(), nums.end(), greater<int>());
return nums[k - 1];
}
};
此题虽然能过,但是并未使用o(logn)的解法, mark一下,下次来解。
class Solution {
public:
int hIndex(vector<int>& citations) {
//sort(citations.begin(), citations.end(), greater<int>());
int size = citations.size();
int max = 0;
for (int i = size ……
降序排列,然后即可线性查找符合条件的h索引。
class Solution {
public:
int hIndex(vector<int>& citations) {
sort(citations.begin(), citations.end(), greater<int>());
int size = citations.size();
int max = 0;
for (int i = 0; i < size;i++)
……
与Find Minimum in Rotated Sorted Array解法类似
class Solution {
public:
int min;
void search(int left, int right, vector&nums)
{
if (right < left)
{
return;
}
int mid = (left + right) / 2;
if (nums[mid] < min) ……